Skip to content

Fix read iterator local snapshot consistency. Fixes #2885. #3037

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

Merged
merged 1 commit into from
Mar 22, 2024

Conversation

snaury
Copy link
Member

@snaury snaury commented Mar 21, 2024

Changelog entry

  • Fix read iterator local snapshot consistency.

Changelog category

  • Bugfix

Additional information

A very rare failure was detected with Jepsen, where an immediate (but locally upgraded to repeatable) read caused dependency confusion between concurrent writes, making it possible to commit writes to the same key in the reverse mvcc version order. Additional issues have been identified, which made it possible for local snapshot reads to violate repeatable read guarantees, those have also been fixed with corresponding regression tests.

Fixes #2885.

Copy link

github-actions bot commented Mar 21, 2024

2024-03-21 12:41:54 UTC Pre-commit check for 69f163b has started.
2024-03-21 12:41:56 UTC Build linux-x86_64-release-clang14 is running...
🟢 2024-03-21 12:47:26 UTC Build successful.

Copy link

github-actions bot commented Mar 21, 2024

2024-03-21 12:42:03 UTC Pre-commit check for 69f163b has started.
2024-03-21 12:42:06 UTC Build linux-x86_64-release-asan is running...
🟢 2024-03-21 12:47:45 UTC Build successful.
2024-03-21 12:48:01 UTC Tests are running...
🔴 2024-03-21 15:02:19 UTC Some tests failed, follow the links below.

Test history

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
15121 14510 0 79 503 29

Copy link

github-actions bot commented Mar 21, 2024

2024-03-21 12:44:14 UTC Pre-commit check for 69f163b has started.
2024-03-21 12:44:17 UTC Build linux-x86_64-relwithdebinfo is running...
🟢 2024-03-21 12:49:45 UTC Build successful.
2024-03-21 12:49:58 UTC Tests are running...
🔴 2024-03-21 14:41:23 UTC Some tests failed, follow the links below.

Test history

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
68926 57820 0 6 11011 89

@snaury snaury requested a review from azevaykin March 21, 2024 16:15
@snaury snaury marked this pull request as ready for review March 21, 2024 16:15
@snaury snaury merged commit 17708e5 into ydb-platform:main Mar 22, 2024
@snaury snaury deleted the fix-2885-read-and-plan-queue-race branch March 22, 2024 08:19
@snaury snaury self-assigned this Mar 22, 2024
@shnikd shnikd mentioned this pull request Mar 26, 2024
This was referenced Mar 29, 2024
@shnikd shnikd mentioned this pull request Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Jepsen: lost write due to intersecting transactions both committing
2 participants