forked from cockroachdb/cockroach
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
86000: gc: add clear range for full range span when it is covered by range tombstone r=aliher1911 a=aliher1911 This commit adds range_deletion_keys parameters to GC request. range_deletion_keys is used by GC queue to remove chunks of consecutive keys where no new data was written above the GC threshold and storage can optimize deletions with range tombstones. To support new types of keys, GCer interface is also updated to pass provided keys down to request. --- storage: add gc operation that uses clear range GC relies on point and range key deletion operations when removing data. This is not good in cases where full range is deleted e.g. schema change. This commit add a clear operation that would remove all range data if it is completely covered by range tombstones. And range tombstones themselves are below gc threshold. --- rditer: skip option for range user key space Option to skip user key space to allow fast path GC to avoid unnecessary scans. --- gc: add fast path check to identify empty ranges This commit adds a fast path check for ranges where all data is covered by a range tombstone below gc ttl threshold. If such range is identified, GC will perform GC Clear Range of the full range to avoid rescanning range and recomputing stats. --- batcheval: add clear range option to cmd_gc GC request will perform fast path clear operation on the whole range if instructed by GC. Its range bounds should match descriptor bounds exactly for operation to succeed. Underlying mvcc operation will validate if no data is present for safety. Co-authored-by: Oleg Afanasyev <[email protected]>
- Loading branch information
Showing
17 changed files
with
503 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.