This repository was archived by the owner on Sep 30, 2024. It is now read-only.
Check for scheduled or processing jobs when scheduling permission syncs#61024
Merged
Conversation
eseliger
approved these changes
Mar 12, 2024
eseliger
left a comment
Member
There was a problem hiding this comment.
Change LGTM, but can we get a test to prove this behavior?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #61023
Fixes an issue where multiple permission sync jobs are scheduled for users and repositories at the same time.
The existing SQL queries don't take into account that a permissions sync could be in progress or queued when checking for users/repos with the oldest permissions, which leads to a lot of overlapping permission syncs being scheduled. This could cause significant delays in the permissions sync system as a whole, since a single permissions sync now turns into 5+ consecutive syncs for the same user.
Test plan
Verified on my local machine that multiple permission jobs are no longer scheduled for the same user/repo.