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
Enable Vinyl cache in read view #3197
Labels
Milestone
Comments
locker
added a commit
that referenced
this issue
Mar 7, 2018
When scanning a secondary index, we actually track each tuple in the transaction manager twice - as a part of the interval read from the secondary index and as a point in the primary index when retrieving the full tuple. This bloats the read set - instead of storing just one interval for a range request, we also store each tuple returned by it, which may count to thousands. There's no point in this extra tracking, because whenever we change a tuple in the primary index, we also update it in all secondary indexes. So let's remove it to save us some memory and cpu cycles. This is an alternative fix for #2534 It should also mitigate #3197
locker
added a commit
that referenced
this issue
Mar 7, 2018
When scanning a secondary index, we actually track each tuple in the transaction manager twice - as a part of the interval read from the secondary index and as a point in the primary index when retrieving the full tuple. This bloats the read set - instead of storing just one interval for a range request, we also store each tuple returned by it, which may count to thousands. There's no point in this extra tracking, because whenever we change a tuple in the primary index, we also update it in all secondary indexes. So let's remove it to save us some memory and cpu cycles. This is an alternative fix for #2534 It should also mitigate #3197
locker
added
feature
A new functionality
and removed
bug
Something isn't working
labels
Jun 22, 2022
locker
changed the title
Vinyl cache does not work in read view
Enable Vinyl cache in read view
Jun 22, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If SELECT is called from read view, it doesn't populate the tuple cache, which may degrade performance of certain workloads. The issue was exacerbated by commit a31c2c1: now any SELECT called outside transaction is immediately forced into read view. We should store all newest tuples in cache, even if they are read from read view.
The text was updated successfully, but these errors were encountered: