-
Notifications
You must be signed in to change notification settings - Fork 563
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 missing locks on read iterator empty result elision. Fixes #2765. #2825
Conversation
⚪
|
⚪
|
Changelog entry
Fix missing locks on read iterator empty result elision.
Changelog category
Additional information
Jepsen showed incompatible-order failures when batching multiple operations into a single query. This was tracked to a read iterator improvement, where it tries to avoid repeating work on page faults by continuing in a new localdb transaction from the last observed key. Since it may produce internal continuations with empty intermediate results those are elided as "not useful". Unfortunately, in some cases, those results may contain information about acquired locks, which need to be passed to kqp. As a result of incorrect empty result elision transactions failed to detect serialization conflicts with other transactions, and successfully committed.