Blockstore: clean/save old TransactionMemos sensibly #33678
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
As of this commit, the compaction-filter purge includes the TransactionMemos column. For new TransactionMemos that include Slot in the key, the filter works as expected, and purges slots older than
oldest_slot
. However, old TransactionMemos that don't include Slot in the key are currently set to all be purged on the first periodic cleanup. This is becauseC::slot(C::index())
always returns 0 for these entries.Summary of Changes
Add a field to OldestSlot to track when slot-0 entries should be cleaned
Plumb into PurgedSlotFilter