From 0e3131f2b422dc8af68f90b5e7ce3ac86883522d Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 00:04:12 +0000 Subject: [PATCH] Purge expired BlockHeight data from blockstore (backport #17634) (#17640) * Purge expired BlockHeight data from blockstore (#17634) * Purge expired BlockHeight data from blockstore * Also call compact_storage and add comment.... (cherry picked from commit 96cdbfdcc0d1d4567122500dec6fd6f146c3005c) # Conflicts: # ledger/src/blockstore_db.rs * Fix conflict Co-authored-by: Ryo Onodera Co-authored-by: Tyera Eulberg --- ledger/src/blockstore/blockstore_purge.rs | 8 ++++++++ ledger/src/blockstore_db.rs | 2 ++ 2 files changed, 10 insertions(+) diff --git a/ledger/src/blockstore/blockstore_purge.rs b/ledger/src/blockstore/blockstore_purge.rs index bd7e41e1222358..563b89616efad6 100644 --- a/ledger/src/blockstore/blockstore_purge.rs +++ b/ledger/src/blockstore/blockstore_purge.rs @@ -165,6 +165,10 @@ impl Blockstore { & self .db .delete_range_cf::(&mut write_batch, from_slot, to_slot) + .is_ok() + & self + .db + .delete_range_cf::(&mut write_batch, from_slot, to_slot) .is_ok(); let mut w_active_transaction_status_index = self.active_transaction_status_index.write().unwrap(); @@ -263,6 +267,10 @@ impl Blockstore { && self .perf_samples_cf .compact_range(from_slot, to_slot) + .unwrap_or(false) + && self + .block_height_cf + .compact_range(from_slot, to_slot) .unwrap_or(false); compact_timer.stop(); if !result { diff --git a/ledger/src/blockstore_db.rs b/ledger/src/blockstore_db.rs index b6dd277ea8ac55..fce225b8a44ff3 100644 --- a/ledger/src/blockstore_db.rs +++ b/ledger/src/blockstore_db.rs @@ -267,6 +267,8 @@ impl Rocks { ColumnFamilyDescriptor::new(PerfSamples::NAME, get_cf_options(&access_type)); let block_height_cf_descriptor = ColumnFamilyDescriptor::new(BlockHeight::NAME, get_cf_options(&access_type)); + // Don't forget to add to both run_purge_with_stats() and + // compact_storage() in ledger/src/blockstore/blockstore_purge.rs!! let cfs = vec![ (SlotMeta::NAME, meta_cf_descriptor),