-
Notifications
You must be signed in to change notification settings - Fork 4.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]Solve the deadlock problem caused by queuing #13191
Conversation
Good catch, this PR will change the event order, but not all event can work well after change the order. Can we throw a exception to tell the looper this event need to put in the end? |
yes,it will change the order, I thought about making a temporary list to save the failed event. |
Codecov Report
@@ Coverage Diff @@
## dev #13191 +/- ##
============================================
- Coverage 39.39% 39.38% -0.02%
+ Complexity 4282 4280 -2
============================================
Files 1066 1067 +1
Lines 40482 40493 +11
Branches 4657 4662 +5
============================================
Hits 15947 15947
- Misses 22746 22757 +11
Partials 1789 1789
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
…il by throwing a exception
i do it by throwing a exception,pls check |
SonarCloud Quality Gate failed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
Good job
Thanks for your first contribution, Looking forward to your deep participation ^-^ |
* Solve the deadlock problem caused by queuing * Solve the deadlock problem caused by queuing * Solve the deadlock problem caused by queuing * Solve the deadlock problem caused by queuing,move the event to the tail by throwing a exception Co-authored-by: wfs <wangfushun@cdqcp.cpm> (cherry picked from commit 7a0a2c2)
Purpose of the pull request
when using task group for jobs,every workflow will rob taskGroup When it gets a "WAIT_TASK_GROUP" message from the queue.And the workflow will not go to check next message until the current message rob taskGroup successfully.
When every workflow is going to "rob taskGroup",but taskGroup has no resource.
it's get a deadlock problem.
I test my code on version 3.0.1 , and it works well.
Brief change log
move the failed message to the fail of queue.
Verify this pull request
This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(or)
If your pull request contain incompatible change, you should also add it to
docs/docs/en/guide/upgrede/incompatible.md