-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Fix intermittent CI failure in EmptyQueue #23753
Fix intermittent CI failure in EmptyQueue #23753
Conversation
The ordering of the final token causing a close of the queue in this test may be out of sync due to concurrency. Instead just use ensure that the queue is closed when everything expected is done. Signed-off-by: Andrew Thornton <art27@cantab.net>
CI fail is related |
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Sorry about the race - I forgot that there were two things that were simultaneously writing to that map so assumed it didn't need a lock |
Still failing it seems. |
#24419 had disabled two queue tests on CI, if they are stable again, remove the disablement. |
The old queue code is unmaintainable now, I have started the rewriting. I believe the queue package can be hugely simplified. |
…ure-in-EmptyQueue
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
The problem in this PR was simple; the atomic int needed to be defined outside of the handler and the count needs to be pushed to the done channel outside of the lock. @wxiaoguang the queue code complexity is a natural result of the requirements. You're just going to create more bugs and reiterate errors. |
Added issue references to OP. |
I was unable to create a backport for 1.19. @zeripath, please send one manually. 🍵 |
Nope, I never created more bugs. I will finish the rewriting soon. |
* upstream/main: (65 commits) Changelog for 1.19.3 (go-gitea#24495) (go-gitea#24506) Use Actions for DB & E2E tests (go-gitea#24494) Fix intermittent CI failure in EmptyQueue (go-gitea#23753) Prevent a user with a different email from accepting the team invite (go-gitea#24491) Fix incorrect webhook time and use relative-time to display it (go-gitea#24477) Make Issue/PR/projects more compact, misc CSS tweaks (go-gitea#24459) Implement Cargo HTTP index (go-gitea#24452) Clean up polluted styles and remove dead CSS code (go-gitea#24497) Improve pull request merge box when pull request merged and branch deleted. (go-gitea#24397) Fix EasyMDE toolbar (go-gitea#24489) Enhance stylelint rule config, remove dead CSS (go-gitea#24472) Fix api error message if fork exists (go-gitea#24487) Add ntlm authentication support for mail (go-gitea#23811) Fix test delivery button in repo webhook settings page (go-gitea#24478) Add Debian package registry (go-gitea#24426) Enable whitespace rendering on selection in Monaco (go-gitea#24444) Replace `N/A` with `-` everywhere (go-gitea#24474) Fix invite display (go-gitea#24447) [skip ci] Updated translations via Crowdin replace PR docker dry run in drone with Actions (go-gitea#24475) ... # Conflicts: # templates/base/footer_content.tmpl
@zeripath Just happen to see this unresolved comment, and the new queue system has been in production for more than 1 years, so reply it: the new code is right, it only uses less than a half of lines (reduces thousands of lines), and it is incredibly stable and no bug ever happens. All users are quite happy. |
The ordering of the final token causing a close of the queue in this test may be out of sync due to concurrency. Instead just use ensure that the queue is closed when everything expected is done.
Fixes: #23608
Fixes: #23977