-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Send a queue removed message to the queue manager #5391
Send a queue removed message to the queue manager #5391
Conversation
Codecov Report
@@ Coverage Diff @@
## master #5391 +/- ##
==========================================
- Coverage 76.91% 76.64% -0.27%
==========================================
Files 240 240
Lines 14588 14595 +7
Branches 629 636 +7
==========================================
- Hits 11221 11187 -34
- Misses 3367 3408 +41
... and 11 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
This LGTM we need this as well but I think it's important to have the additional safeguard from the state timeout never occurring in the removing state creating an activation cycle such that the queue is never shut down so will still go ahead with merging that as well if you approve it. |
The edge case also occurs from this event
which this change wouldn't cover. I think unit tests will need to be updated to make sure these changes don't have any side effects where sending queue removed to the parent occurs too early in the removal process |
@bdoyle0182 So both |
Since this will be called from every shutdown case, I just want to make sure that there aren't any new race conditions created. Would it be possible for the queue removed message to be sent twice if it's called from here now and it was sent from another shutdown case such that the queue is removed from the manager map and then a new queue is created and this fsm sends another queue removed message removing it from the parent map after the new queue is created? I'm not sure if that could happen or matters, but want to check |
Will approve this so long as we're confident sending queue removed to the parent from these locations cannot create a new race condition. |
Once the queue manager receives a queue removed message, it will just remove the corresponding reference from queue pool and send an ack back to the sender. One concern could be multiple acks sent from the queue manager, but it will also be handled by the wildcard case if there is no match for a certain state. |
LGTM |
* Send a queue removed message to the queue manager when cleaning up the actor and data * Add one more missing part * Fix test cases (cherry picked from commit cb3b64f)
This is to handle the issue reported in #5388 in another way.
Description
Related issue and scope
My changes affect the following components
Types of changes
Checklist: