refactor!: remove 'keep-every' from pruning (#11152)
This commit is contained in:
@@ -709,22 +709,6 @@ func (app *BaseApp) GetBlockRetentionHeight(commitHeight int64) int64 {
|
||||
retentionHeight = commitHeight - cp.Evidence.MaxAgeNumBlocks
|
||||
}
|
||||
|
||||
// Define the state pruning offset, i.e. the block offset at which the
|
||||
// underlying logical database is persisted to disk.
|
||||
statePruningOffset := int64(app.cms.GetPruning().KeepEvery)
|
||||
if statePruningOffset > 0 {
|
||||
if commitHeight > statePruningOffset {
|
||||
v := commitHeight - (commitHeight % statePruningOffset)
|
||||
retentionHeight = minNonZero(retentionHeight, v)
|
||||
} else {
|
||||
// Hitting this case means we have persisting enabled but have yet to reach
|
||||
// a height in which we persist state, so we return zero regardless of other
|
||||
// conditions. Otherwise, we could end up pruning blocks without having
|
||||
// any state committed to disk.
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
if app.snapshotInterval > 0 && app.snapshotKeepRecent > 0 {
|
||||
v := commitHeight - int64((app.snapshotInterval * uint64(app.snapshotKeepRecent)))
|
||||
retentionHeight = minNonZero(retentionHeight, v)
|
||||
|
||||
@@ -39,12 +39,11 @@ func TestGetBlockRentionHeight(t *testing.T) {
|
||||
"pruning iavl snapshot only": {
|
||||
bapp: baseapp.NewBaseApp(
|
||||
name, logger, db,
|
||||
baseapp.SetPruning(sdk.PruningOptions{KeepEvery: 10000}),
|
||||
baseapp.SetMinRetainBlocks(1),
|
||||
),
|
||||
maxAgeBlocks: 0,
|
||||
commitHeight: 499000,
|
||||
expected: 490000,
|
||||
expected: 498999,
|
||||
},
|
||||
"pruning state sync snapshot only": {
|
||||
bapp: baseapp.NewBaseApp(
|
||||
@@ -69,7 +68,6 @@ func TestGetBlockRentionHeight(t *testing.T) {
|
||||
"pruning all conditions": {
|
||||
bapp: baseapp.NewBaseApp(
|
||||
name, logger, db,
|
||||
baseapp.SetPruning(sdk.PruningOptions{KeepEvery: 10000}),
|
||||
baseapp.SetMinRetainBlocks(400000),
|
||||
baseapp.SetSnapshotInterval(50000), baseapp.SetSnapshotKeepRecent(3),
|
||||
),
|
||||
@@ -80,7 +78,6 @@ func TestGetBlockRentionHeight(t *testing.T) {
|
||||
"no pruning due to no persisted state": {
|
||||
bapp: baseapp.NewBaseApp(
|
||||
name, logger, db,
|
||||
baseapp.SetPruning(sdk.PruningOptions{KeepEvery: 10000}),
|
||||
baseapp.SetMinRetainBlocks(400000),
|
||||
baseapp.SetSnapshotInterval(50000), baseapp.SetSnapshotKeepRecent(3),
|
||||
),
|
||||
@@ -91,7 +88,6 @@ func TestGetBlockRentionHeight(t *testing.T) {
|
||||
"disable pruning": {
|
||||
bapp: baseapp.NewBaseApp(
|
||||
name, logger, db,
|
||||
baseapp.SetPruning(sdk.PruningOptions{KeepEvery: 10000}),
|
||||
baseapp.SetMinRetainBlocks(0),
|
||||
baseapp.SetSnapshotInterval(50000), baseapp.SetSnapshotKeepRecent(3),
|
||||
),
|
||||
|
||||
+1
-8
@@ -292,16 +292,9 @@ func (app *BaseApp) init() error {
|
||||
|
||||
// make sure the snapshot interval is a multiple of the pruning KeepEvery interval
|
||||
if app.snapshotManager != nil && app.snapshotInterval > 0 {
|
||||
rms, ok := app.cms.(*rootmulti.Store)
|
||||
if !ok {
|
||||
if _, ok := app.cms.(*rootmulti.Store); !ok {
|
||||
return errors.New("state sync snapshots require a rootmulti store")
|
||||
}
|
||||
pruningOpts := rms.GetPruning()
|
||||
if pruningOpts.KeepEvery > 0 && app.snapshotInterval%pruningOpts.KeepEvery != 0 {
|
||||
return fmt.Errorf(
|
||||
"state sync snapshot interval %v must be a multiple of pruning keep every interval %v",
|
||||
app.snapshotInterval, pruningOpts.KeepEvery)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -184,7 +184,6 @@ func setupBaseAppWithSnapshots(t *testing.T, blocks uint, blockTxs int, options
|
||||
app := setupBaseApp(t, append(options,
|
||||
baseapp.SetSnapshotStore(snapshotStore),
|
||||
baseapp.SetSnapshotInterval(snapshotInterval),
|
||||
baseapp.SetPruning(sdk.PruningOptions{KeepEvery: 1}),
|
||||
routerOpt)...)
|
||||
|
||||
app.InitChain(abci.RequestInitChain{})
|
||||
@@ -480,7 +479,6 @@ func TestLoadVersionPruning(t *testing.T) {
|
||||
logger := log.NewNopLogger()
|
||||
pruningOptions := storetypes.PruningOptions{
|
||||
KeepRecent: 2,
|
||||
KeepEvery: 3,
|
||||
Interval: 1,
|
||||
}
|
||||
pruningOpt := baseapp.SetPruning(pruningOptions)
|
||||
|
||||
Reference in New Issue
Block a user