Skip to content

PS-11308: Fix read-view reuse and clone race - #6021

Open
xingyingone wants to merge 1 commit into
percona:release-8.0.44-35from
xingyingone:alex-fix-release-8.0.44-35
Open

PS-11308: Fix read-view reuse and clone race#6021
xingyingone wants to merge 1 commit into
percona:release-8.0.44-35from
xingyingone:alex-fix-release-8.0.44-35

Conversation

@xingyingone

Copy link
Copy Markdown

Issue

RC autocommit transactions can reuse a closed read view while another session clones that transaction's read view. If the donor transaction is reopening the view for the next consistent read, the read_view pointer may already be untagged while the underlying ReadView is still the stale reusable view that purge does not protect.

Solution

Protect the read-view reuse/clone boundary so a cloned view cannot observe an unsafe stale reusable view, and add a regression test that pauses the donor in the MVCC::view_open() reuse window to cover the race.

@xingyingone xingyingone changed the title Fix read-view reuse and clone race PS-11308: Fix read-view reuse and clone race Jun 20, 2026
Issue
=====
RC autocommit transactions can reuse a closed read view while another session
clones that transaction's read view. If the donor transaction is reopening the
view for the next consistent read, the read_view pointer may already be
untagged while the underlying ReadView is still the stale reusable view that
purge does not protect.

Solution
========
Protect the read-view reuse/clone boundary so a cloned view cannot observe an
unsafe stale reusable view, and add a regression test that pauses the donor in
the MVCC::view_open() reuse window to cover the race.
@xingyingone
xingyingone force-pushed the alex-fix-release-8.0.44-35 branch from 1cf3706 to 5253ad8 Compare June 20, 2026 04:38
@xingyingone

Copy link
Copy Markdown
Author

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.

1 participant