Don't wait for project authorization sidekiq jobs when creating projects
What does this MR do?
When creating a project, ensures the creator's authorizations are refreshed inline, demoting other affected users to asynchronous refresh
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
We only wait so the requesting user can interact with their newly-created project immediately, so we only have to wait for a single user.
Waiting for sidekiq jobs to complete in the HTTP request/response cycle is failure-prone, e.g., during deploys. Since we're only waiting for a single user, we might as well do that inline instead..
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary [ ] Documentation created/updated/strile>[ ] API support added-
Tests added for this feature/bug - Review
-
Has been reviewed by Backend
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together
What are the relevant issue numbers?
Closes #36792 (closed)
Merge request reports
Activity
@jamedjo can you review this as a follow-up to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13564 ?
I don't think it would be sensible to make all calls to
AuthorizedProjectsWorker
non-blocking, so I've gone for the MVP, taking our thoughts in the previous MR into account. Blocking waits still benefit from the evented stuff we put in.- Resolved by Nick Thomas
- Resolved by Nick Thomas
assigned to @jamedjo
marked the checklist item Changelog entry added, if necessary as completed
marked the checklist item Conform by the merge request performance guides as completed
marked the checklist item Conform by the style guides as completed
marked the checklist item Squashed related commits together as completed
- Resolved by James EJ
- Resolved by Nick Thomas
- Resolved by Nick Thomas
@nick.thomas Looks good, I've added a couple of minor ideas
assigned to @nick.thomas
- Resolved by Douwe Maan
assigned to @DouweM
added 80 commits
- 086179ea...24244d03 - 79 commits from branch
gitlab-org:master
- 721a0d63 - Move sidekiq-based project authorization refresh out of Projects::CreateService
- 086179ea...24244d03 - 79 commits from branch
- Resolved by Nick Thomas
assigned to @nick.thomas
added 1 commit
- 0a1160e5 - Don't treat gitlab project imports specially in Projects::CreateService
assigned to @DouweM
@DouweM all comments addressed. One more round?
@nick.thomas Looks like the spec failure is https://gitlab.com/gitlab-org/gitlab-ce/issues/34323, so can be ignored
mentioned in issue gitlab-com/support-forum#2384 (closed)