Skip to content

Commit

Permalink
use retain heights
Browse files Browse the repository at this point in the history
  • Loading branch information
czarcas7ic committed May 5, 2024
1 parent adcb26e commit a107ccd
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 30 deletions.
18 changes: 18 additions & 0 deletions consensus/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -1731,6 +1731,24 @@ func (cs *State) finalizeCommit(height int64) {
} else {
logger.Debug("application retain height set")
}
err = cs.blockExec.Pruner().SetTxIndexerRetainHeight(retainHeight)
if err != nil {
logger.Error("failed to set tx indexer retain height to", "retain_height", retainHeight, "err", err)
} else {
logger.Debug("tx indexer retain height set")
}
err = cs.blockExec.Pruner().SetBlockIndexerRetainHeight(retainHeight)
if err != nil {
logger.Error("failed to set block indexer retain height to", "retain_height", retainHeight, "err", err)
} else {
logger.Debug("block indexer retain height set")
}
err = cs.blockExec.Pruner().SetABCIResRetainHeight(retainHeight)
if err != nil {
logger.Error("failed to set abci res retain height to", "retain_height", retainHeight, "err", err)
} else {
logger.Debug("abci res retain height set")
}
}

// must be called before we update state
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ require (
github.com/golang/protobuf v1.5.3
github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae
github.com/vektra/mockery/v2 v2.14.0
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df
golang.org/x/sync v0.3.0
gonum.org/v1/gonum v0.8.2
google.golang.org/protobuf v1.31.0
Expand Down Expand Up @@ -283,7 +284,6 @@ require (
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
go.uber.org/zap v1.23.0 // indirect
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 // indirect
golang.org/x/mod v0.12.0 // indirect
golang.org/x/sys v0.18.0 // indirect
Expand Down
58 changes: 29 additions & 29 deletions state/pruner.go
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,6 @@ func (p *Pruner) pruneBlocks() {
fmt.Println()
fmt.Println("pruneBlocks Last Retain Height: ", lastRetainHeight)
newRetainHeight := p.pruneBlocksToRetainHeight(lastRetainHeight)
fmt.Println("pruneBlocks New Retain Height: ", newRetainHeight)
fmt.Println("prune tx indexer")
p.pruneTxIndexerToRetainHeight(lastRetainHeight)
fmt.Println("prune block indexer")
Expand All @@ -352,6 +351,7 @@ func (p *Pruner) pruneBlocks() {
ToHeight: newRetainHeight - 1,
})
}
fmt.Println("pruneBlocks New Retain Height: ", newRetainHeight)
lastRetainHeight = newRetainHeight
time.Sleep(p.interval)
}
Expand All @@ -375,21 +375,21 @@ func (p *Pruner) pruneBlocks() {
// }
// }

func (p *Pruner) pruneTxIndexerToRetainHeight(targetRetainHeight int64) int64 {
// targetRetainHeight, err := p.GetTxIndexerRetainHeight()
// if err != nil {
// // Indexer retain height has not yet been set - do not log any
// // errors at this time.
// if errors.Is(err, ErrKeyNotFound) {
// return 0
// }
// p.logger.Error("Failed to get Indexer retain height", "err", err)
// return lastRetainHeight
// }
func (p *Pruner) pruneTxIndexerToRetainHeight(lastRetainHeight int64) int64 {
targetRetainHeight, err := p.GetTxIndexerRetainHeight()
if err != nil {
// Indexer retain height has not yet been set - do not log any
// errors at this time.
if errors.Is(err, ErrKeyNotFound) {
return 0
}
p.logger.Error("Failed to get Indexer retain height", "err", err)
return lastRetainHeight
}

// if lastRetainHeight >= targetRetainHeight {
// return lastRetainHeight
// }
if lastRetainHeight >= targetRetainHeight {
return lastRetainHeight
}

numPrunedTxIndexer, newTxIndexerRetainHeight, err := p.txIndexer.Prune(targetRetainHeight)
if err != nil {
Expand All @@ -401,21 +401,21 @@ func (p *Pruner) pruneTxIndexerToRetainHeight(targetRetainHeight int64) int64 {
return newTxIndexerRetainHeight
}

func (p *Pruner) pruneBlockIndexerToRetainHeight(targetRetainHeight int64) int64 {
// targetRetainHeight, err := p.GetBlockIndexerRetainHeight()
// if err != nil {
// // Indexer retain height has not yet been set - do not log any
// // errors at this time.
// if errors.Is(err, ErrKeyNotFound) {
// return 0
// }
// p.logger.Error("Failed to get Indexer retain height", "err", err)
// return lastRetainHeight
// }
func (p *Pruner) pruneBlockIndexerToRetainHeight(lastRetainHeight int64) int64 {
targetRetainHeight, err := p.GetBlockIndexerRetainHeight()
if err != nil {
// Indexer retain height has not yet been set - do not log any
// errors at this time.
if errors.Is(err, ErrKeyNotFound) {
return 0
}
p.logger.Error("Failed to get Indexer retain height", "err", err)
return lastRetainHeight
}

// if lastRetainHeight >= targetRetainHeight {
// return lastRetainHeight
// }
if lastRetainHeight >= targetRetainHeight {
return lastRetainHeight
}

numPrunedBlockIndexer, newBlockIndexerRetainHeight, err := p.blockIndexer.Prune(targetRetainHeight)
if err != nil {
Expand Down

0 comments on commit a107ccd

Please sign in to comment.