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
#8293 fix concurrent access to PQ persisted bytesize throwing #8317
Conversation
Most tests passing. Only 1 DLQ test failing and is unrelated. LGTM |
@original-brownbear can we backport this to 5.6 as well? |
@suyograo sure, let's see this might even merge clean :) |
Armin Braun merged this into the following branches!
|
Armin Braun merged this into the following branches!
|
@suyograo done :) |
Just helped diagnose an issue on discuss which pointed to this rather obvious lack of locking and found this fix - thanks @original-brownbear this one was pretty nasty, good thing we also merged it in 5.6. |
See error reported in #8293, obviously looping over the tail pages will throw on concurrent modification of the underlying
ArrayList
.Unfortunately, the stack trace of that error doesn't get forwarded to Ruby and also seems to prevent the mutex covering the PQ data poll on the Ruby side from unlocking (that's a different issue imo, no clue why this is happening).
=> Either way, fixed by locking that operation in PQ and preventing concurrent modification exceptions.