@@ -83,10 +83,6 @@ type StatePruner interface {
8383 GetLastRetainedVersion () uint64
8484}
8585
86- type statePrunerInitializer interface {
87- Initialize () error
88- }
89-
9086type nonePruner struct {}
9187
9288func (p * nonePruner ) Prune (uint64 ) error {
@@ -114,15 +110,6 @@ type genericPruner struct {
114110 handlers []consensus.StatePruneHandler
115111}
116112
117- func (p * genericPruner ) Initialize () error {
118- // Figure out the eldest version currently present in the tree.
119- p .earliestVersion = p .ndb .GetEarliestVersion ()
120- // Initially, the earliest version is the last retained version.
121- p .lastRetainedVersion = p .earliestVersion
122-
123- return nil
124- }
125-
126113func (p * genericPruner ) GetLastRetainedVersion () uint64 {
127114 p .Lock ()
128115 defer p .Unlock ()
@@ -133,6 +120,15 @@ func (p *genericPruner) Prune(latestVersion uint64) error {
133120 if latestVersion < p .keepN {
134121 return nil
135122 }
123+ if p .earliestVersion == 0 {
124+ // Figure out the eldest version currently present in the tree.
125+ p .earliestVersion = p .ndb .GetEarliestVersion ()
126+ // Initially, the earliest version is the last retained version.
127+ p .lastRetainedVersion = p .earliestVersion
128+ }
129+ if p .earliestVersion == 0 {
130+ return nil
131+ }
136132
137133 p .logger .Debug ("Prune: Start" ,
138134 "latest_version" , latestVersion ,
@@ -231,13 +227,7 @@ func newStatePruner(cfg *PruneConfig, ndb nodedb.NodeDB) (StatePruner, error) {
231227 return nil , fmt .Errorf ("abci/pruner: unsupported pruning strategy: %v" , cfg .Strategy )
232228 }
233229
234- if initializer , ok := statePruner .(statePrunerInitializer ); ok {
235- if err := initializer .Initialize (); err != nil {
236- return nil , err
237- }
238- }
239-
240- logger .Debug ("ABCI state pruner initialized" ,
230+ logger .Debug ("ABCI state pruner created" ,
241231 "strategy" , cfg .Strategy ,
242232 "num_kept" , cfg .NumKept ,
243233 )
0 commit comments