Skip to content

calm-hub: parallelise GitHub namespace cloning (cloneAll/pullAll) #3096

Description

@jpgough-ms

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions