-
Notifications
You must be signed in to change notification settings - Fork 412
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
KVStore: Reduce the memory before and after a large txn is committed #9707
Conversation
Signed-off-by: Calvin Neo <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Co-authored-by: Lloyd-Pottiger <[email protected]>
Co-authored-by: jinhelin <[email protected]>
Co-authored-by: jinhelin <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Benchmark Time CPU IterationsparseTest 126 ns 125 ns 5612257 |
Signed-off-by: Calvin Neo <[email protected]>
should_continue = true; | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bool withInner(std::function<bool(const Inner &)> f) const;
may be better?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar, I can move it into the DecodedLockCfValue
Co-authored-by: Lloyd-Pottiger <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Co-authored-by: Lloyd-Pottiger <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Co-authored-by: JaySon <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Signed-off-by: Calvin Neo <[email protected]>
Co-authored-by: jinhelin <[email protected]>
Co-authored-by: jinhelin <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: JinheLin, Lloyd-Pottiger The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
What problem does this PR solve?
Issue Number: ref #9722
Problem Summary:
What is changed and how it works?
There are two ideas:
DecodedLockCFValue
has the size of 128 bytes. Given a txn that updates 15m rows, the memory cost is 1.8GThe idea is that we won't store the built(parsed) DecodedLockCFValue if the lock belongs to a large txn. So everytime we scan the locks of large txns, we will parse it again.
Check List
Tests
Side effects
Documentation
Release note