Skip to content

improve repository manager lookup concurrency control #4177

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 28, 2022

Conversation

tomerd
Copy link
Contributor

@tomerd tomerd commented Feb 25, 2022

motivation: improved concurrency control and cleaner code

changes:

  • use a separate queue to schedule the lookup tasks to ensure concurrency control is done correctly
  • create a sync version of lookup to help make maintaining the code easier, at least while the git client is sync
  • reduce double queue overhead when Workspace::geContainer calls into RepositoryManager::lookup

@tomerd
Copy link
Contributor Author

tomerd commented Feb 25, 2022

@swift-ci please smoke test

@tomerd tomerd added the ready Author believes the PR is ready to be merged & any feedback has been addressed label Feb 25, 2022
@tomerd tomerd force-pushed the refactor/repository-manager-02 branch from 8fa23cb to 29c50fa Compare February 25, 2022 05:28
@tomerd
Copy link
Contributor Author

tomerd commented Feb 25, 2022

@swift-ci please smoke test

@tomerd tomerd force-pushed the refactor/repository-manager-02 branch from 29c50fa to 2a35c4b Compare February 25, 2022 05:42
@tomerd
Copy link
Contributor Author

tomerd commented Feb 25, 2022

@swift-ci please smoke test

@tomerd tomerd changed the title improve RepositoryManager::lookup improve repository manager lookup concurrency control Feb 25, 2022
motivation: improved concurency control and cleaer code

changes:
* use a seperate queue to schedule the lookup tasks to ensure oncurrency control is done correctly
* create an sync version of lookup to help make maintaining the code easier, at least while git client is syn
* reduce double queue overhead when Workspace::geContainer calls into RepositoryManager::lookup
@tomerd tomerd force-pushed the refactor/repository-manager-02 branch from 2a35c4b to c06e69f Compare February 25, 2022 21:25
@tomerd
Copy link
Contributor Author

tomerd commented Feb 25, 2022

@swift-ci please smoke test

@tomerd
Copy link
Contributor Author

tomerd commented Feb 25, 2022

also required for #4173

@tomerd tomerd self-assigned this Feb 28, 2022
@tomerd tomerd merged commit da23670 into swiftlang:main Feb 28, 2022
tomerd added a commit to tomerd/swift-package-manager that referenced this pull request Mar 1, 2022
motivation: improved concurrency control and cleaner code

changes:
* use a separate queue to schedule the lookup tasks to ensure concurrency control is done correctly
* create a sync version of lookup to help make maintaining the code easier, at least while the git client is sync
* reduce double queue overhead when Workspace::geContainer calls into RepositoryManager::lookup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready Author believes the PR is ready to be merged & any feedback has been addressed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants