Skip to content

memtx: fix loss of committed tuple in secondary index#7717

Merged
alyapunov merged 1 commit intotarantool:masterfrom
CuriousGeorgiy:gh-7712-committed-tuple-lost-in-secondary-index
Sep 30, 2022
Merged

memtx: fix loss of committed tuple in secondary index#7717
alyapunov merged 1 commit intotarantool:masterfrom
CuriousGeorgiy:gh-7712-committed-tuple-lost-in-secondary-index

Conversation

@CuriousGeorgiy
Copy link
Member

Concurrent transactions can try to insert tuples that intersect only by parts of secondary index: in this case when one of them gets prepared, the others get conflicted, but the committed story does not get retained (because the conflicting statements are not added to the committed story's delete statement list as opposed to primary index) and is lost after garbage collection: retain stories if there is a newer uncommitted story in the secondary indexes' history chain.

Closes #7712

@alyapunov alyapunov removed their assignment Sep 28, 2022
@CuriousGeorgiy CuriousGeorgiy added the full-ci Enables all tests for a pull request label Sep 28, 2022
Concurrent transactions can try to insert tuples that intersect only by
parts of secondary index: in this case when one of them gets prepared, the
others get conflicted, but the committed story does not get retained
(because the conflicting statements are not added to the committed story's
delete statement list as opposed to primary index) and is lost after
garbage collection: retain stories if there is a newer uncommitted story
in the secondary indexes' history chain.

Closes tarantool#7712

NO_DOC=bugfix
@CuriousGeorgiy CuriousGeorgiy force-pushed the gh-7712-committed-tuple-lost-in-secondary-index branch from 3c6dfe6 to 483c0cf Compare September 28, 2022 08:33
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.04%) to 84.303% when pulling 483c0cf on CuriousGeorgiy:gh-7712-committed-tuple-lost-in-secondary-index into c8eccfb on tarantool:master.

@drewdzzz drewdzzz assigned alyapunov and unassigned drewdzzz Sep 29, 2022
@alyapunov
Copy link
Contributor

Failed release_asan_clang11 / release_asan_clang11 - vclock.test.
Was fixed already, decided not to force-push the branch in order to not overload CI.

@alyapunov alyapunov merged commit 7b0baa5 into tarantool:master Sep 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-ci Enables all tests for a pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Loss of committed tuple from secondary index in memtx

4 participants