Skip to content
  • Erik Grinaker's avatar
    add support for block pruning via ABCI Commit response (#4588) · 4298bbcc
    Erik Grinaker authored
    
    
    * Added BlockStore.DeleteBlock()
    
    * Added initial block pruner prototype
    
    * wip
    
    * Added BlockStore.PruneBlocks()
    
    * Added consensus setting for block pruning
    
    * Added BlockStore base
    
    * Error on replay if base does not have blocks
    
    * Handle missing blocks when sending VoteSetMaj23Message
    
    * Error message tweak
    
    * Properly update blockstore state
    
    * Error message fix again
    
    * blockchain: ignore peer missing blocks
    
    * Added FIXME
    
    * Added test for block replay with truncated history
    
    * Handle peer base in blockchain reactor
    
    * Improved replay error handling
    
    * Added tests for Store.PruneBlocks()
    
    * Fix non-RPC handling of truncated block history
    
    * Panic on missing block meta in needProofBlock()
    
    * Updated changelog
    
    * Handle truncated block history in RPC layer
    
    * Added info about earliest block in /status RPC
    
    * Reorder height and base in blockchain reactor messages
    
    * Updated changelog
    
    * Fix tests
    
    * Appease linter
    
    * Minor review fixes
    
    * Non-empty BlockStores should always have base > 0
    
    * Update code to assume base > 0 invariant
    
    * Added blockstore tests for pruning to 0
    
    * Make sure we don't prune below the current base
    
    * Added BlockStore.Size()
    
    * config: added retain_blocks recommendations
    
    * Update v1 blockchain reactor to handle blockstore base
    
    * Added state database pruning
    
    * Propagate errors on missing validator sets
    
    * Comment tweaks
    
    * Improved error message
    
    Co-Authored-By: default avatarAnton Kaliaev <anton.kalyaev@gmail.com>
    
    * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option
    
    * remove State.RetainHeight, return value instead
    
    * fix minor issues
    
    * rename pruneHeights() to pruneBlocks()
    
    * noop to fix GitHub borkage
    
    Co-authored-by: default avatarAnton Kaliaev <anton.kalyaev@gmail.com>
    4298bbcc