-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
kvserver: investigate SingleDelete
for raft log truncation
#8979
Comments
See On Wed, Aug 31, 2016 at 10:45 AM David Taylor [email protected]
-- Tobias |
I think we might be able to use |
Interestingly, according to For completeness, here's the call stack leading to
|
Note that |
The following text from here seems to be pointing to what is the real difference between
|
Expanding on @petermattis's comment #8979 (comment), we should explore whether At the moment, this is not the case because log truncations use In order to use cockroach/pkg/storage/replica_raftstorage.go Lines 581 to 585 in 9f5ea5b
We'd also have to be careful about how It's also possible that recent changes to |
Another interesting use of this is in cleaning up MVCCMetadata keys that are removed when resolving intents. If we were careful about updating these keys then we could use |
Informs cockroachdb#8979. This commit doesn't actually use the operation yet, but any experiments will require this plumbing, so it made sense to pull it out and properly test it. Release note: None
Informs cockroachdb#8979. This commit doesn't actually use the operation yet, but any experiments will require this plumbing, so it made sense to pull it out and properly test it. Release note: None
Informs cockroachdb#8979. This commit doesn't actually use the operation yet, but any experiments will require this plumbing, so it made sense to pull it out and properly test it. Release note: None
33436: cli/interactive_tests: unskip test_url_db_override r=knz a=knz Fixes #30796. ... and use a more clearly guaranteed-bad DNS name for the expected failure. Suggested by @petermattis. Release note: None 33440: libroach/engine: plumb support for SingleDelete operation r=nvanbenschoten a=nvanbenschoten Informs #8979. This commit doesn't actually use the operation yet, but any experiments will require this plumbing, so it made sense to pull it out and properly test it. Release note: None Co-authored-by: Raphael 'kena' Poss <[email protected]> Co-authored-by: Nathan VanBenschoten <[email protected]>
The separated lock table uses SingleDelete for locks (MVCCMetadata) when possible. The remaining place where this could be used is for the raft log. |
SingleDelete
SingleDelete
for raft log truncation
cc @cockroachdb/replication |
Ran a little experiment with #134355 using
There is no much gain in KV QPS on this run, but there is a tangible difference in tombstones and compaction/flush metrics. Don't know if it's within an expected margin, or shows a real improvement. Would be interesting to run some more experiments. |
@tbg on 2023-04-10:
Re-using this issue to focus exclusively on SingleDelete for the raft log, see #8979 (comment).
On #4321, @Simkha mentioned
SingleDelete
and its handling in compactions:Jira issue: CRDB-6156
Epic CRDB-39898
The text was updated successfully, but these errors were encountered: