GitHubCloneManager.cloneAll() and pullAll() clone/pull every configured namespace sequentially (for (Map.Entry<String, NamespaceRepo> entry : namespaceRepos.entrySet()), GitHubCloneManager.java:66,105). Startup latency is the sum of every repo's clone time.
Fixable cheaply:
- Target directories are disjoint per namespace — nothing shared to corrupt
GitHubRepoSync is stateless
- A
ManagedExecutor is already injected in this package
Fix: run each namespace's clone/pull on the executor in parallel; make the success/failure counters atomic (currently plain int increments).
GitHubCloneManager.cloneAll()andpullAll()clone/pull every configured namespace sequentially (for (Map.Entry<String, NamespaceRepo> entry : namespaceRepos.entrySet()),GitHubCloneManager.java:66,105). Startup latency is the sum of every repo's clone time.Fixable cheaply:
GitHubRepoSyncis statelessManagedExecutoris already injected in this packageFix: run each namespace's clone/pull on the executor in parallel; make the success/failure counters atomic (currently plain
intincrements).