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

In-memory MVCC snapshots on latest version are leaving the version unmerged with older versions #3402

Closed
tgrabiec opened this Issue Apr 30, 2018 · 0 comments

Comments

Projects
None yet
2 participants
@tgrabiec
Copy link
Contributor

tgrabiec commented Apr 30, 2018

partition_snapshot::merge_partition_versions() will not attempt merging if the snapshot is attached to the latest version (in which case _version is nullptr and _entry is != nullptr). This will cause partition_version objects to accumulate if there was an older snapshot and it went away before the latest snapshot. Versions will be removed when the whole entry goes away (flush or eviction).

May cause performance problems.

@tgrabiec tgrabiec self-assigned this Apr 30, 2018

@slivne slivne added this to the x-ray milestone May 6, 2018

pdziepak added a commit that referenced this issue May 9, 2018

Merge "mvcc: Fix partition_snapshot::merge_partition_versions() to no…
…t leave latest versions unmerged" from Tomasz

"Fixes a bug in partition_snapshot::merge_partition_versions(), which would not
attempt merging if the snapshot is attached to the latest version (in which
case _version is nullptr and _entry is != nullptr). This would cause
partition_version objects to accumulate if there was an older snapshot and it
went away before the latest snapshot. Versions will be removed when the whole
entry goes away (flush or eviction).

May cause performance problems.

Fixes #3402."

* 'tgrabiec/fix-merge_partition_versions' of github.com:tgrabiec/scylla:
  mvcc: Test version merging when snapshots go away
  anchorless_list: Make ranges conform to SinglePassRange
  anchorless_list: Drop deprecated use of std::iterator
  mvcc: Fix partition_snapshot::merge_partition_versions() to not leave latest versions unmerged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.