-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Take "true" case into consideration #1685
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
Conversation
I understand that the original assertion was there to fail if an operation fails on a live queue Pid. |
@hairyhum do you think the following sequence of events could trigger the
|
Maybe. Mirroring does some waiting to avoid false-positives. Unfortunately |
@lukebakken's hypothesis sounds plausible to me. |
We know that
Let me know what you think of 9d9f624. I special-cased the scenario where the queue is mirrored and the pid is alive. Then, in the other case, rather than matching against |
The fact that |
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.
I still don't see the difference between master process being back and the non-mirrored queue being back after disconnect.
Also because pid reuse the QPid might not be the actual queue process. In this case sleep is actually helpful because we wait for mnesia record update.
Another instance of this error: https://groups.google.com/d/topic/rabbitmq-users/u9URsZ2ova8/discussion |
Fixes #1682 Call E() instead of crashing with badmatch, retry when queue is mirrored
9d9f624
to
2f88068
Compare
@hairyhum @michaelklishin @kjnilsson I'm not letting this one go! My latest change is simpler, and tries to do something sane where a crash would have happened. |
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.
This should at least give more visibility.
Thanks for the review @hairyhum |
Take "true" case into consideration (cherry picked from commit 6b73cad)
Backported to |
Fixes #1682