Skip to content
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

24-1: Fix missing locks on read iterator empty result elision. Fixes #2765. #2839

Merged

Conversation

snaury
Copy link
Member

@snaury snaury commented Mar 15, 2024

Changelog entry

Fix missing locks on read iterator empty result elision.

Changelog category

  • Bugfix

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.

Merge from #2825.

@snaury snaury marked this pull request as ready for review March 15, 2024 17:09
@snaury snaury requested a review from a team as a code owner March 15, 2024 17:09
Copy link

github-actions bot commented Mar 15, 2024

2024-03-15 17:26:47 UTC Pre-commit check for bcf363e has started.
2024-03-15 17:26:49 UTC Build linux-x86_64-relwithdebinfo is running...
🟢 2024-03-15 17:29:50 UTC Build successful.
2024-03-15 17:30:04 UTC Tests are running...
🟢 2024-03-15 18:42:28 UTC Tests successful.

Test history

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
60375 50978 0 0 9340 57

Copy link

github-actions bot commented Mar 15, 2024

2024-03-15 17:42:38 UTC Pre-commit check for bcf363e has started.
2024-03-15 17:42:40 UTC Build linux-x86_64-release-asan is running...
🟢 2024-03-15 17:45:50 UTC Build successful.
2024-03-15 17:46:03 UTC Tests are running...
🔴 2024-03-15 19:18:40 UTC Some tests failed, follow the links below.

Test history

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16055 15946 0 19 57 33

@snaury snaury self-assigned this Mar 16, 2024
@snaury snaury merged commit 9edd757 into ydb-platform:stable-24-1 Mar 16, 2024
3 of 4 checks passed
@snaury snaury deleted the 24-1-fix-missing-page-fault-locks branch March 16, 2024 18:03
@mregrock mregrock mentioned this pull request May 15, 2024
This was referenced Jun 7, 2024
@CyberROFL CyberROFL mentioned this pull request Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants