Skip to content

Commit 5c36291

Browse files
Merge pull request #7911 from multiversx/fix-pruning-delay-on-restart
fix a possible underflow on getPruningHandler
2 parents 898efd8 + 1bd19f3 commit 5c36291

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

process/block/baseProcess.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2449,7 +2449,7 @@ func (bp *baseProcessor) PruneStateOnRollback(currHeader data.HeaderHandler, cur
24492449
}
24502450

24512451
func (bp *baseProcessor) getPruningHandler(finalHeaderNonce uint64) state.PruningHandler {
2452-
if finalHeaderNonce-bp.lastRestartNonce <= uint64(bp.pruningDelay) {
2452+
if finalHeaderNonce < bp.lastRestartNonce || finalHeaderNonce-bp.lastRestartNonce <= uint64(bp.pruningDelay) {
24532453
log.Debug("will skip pruning",
24542454
"finalHeaderNonce", finalHeaderNonce,
24552455
"last restart nonce", bp.lastRestartNonce,

process/block/baseProcess_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3810,6 +3810,10 @@ func TestBaseProcessor_getPruningHandler(t *testing.T) {
38103810
ph = bp.GetPruningHandler(14)
38113811
assert.True(t, ph.IsPruningEnabled())
38123812

3813+
bp.SetLastRestartNonce(15)
3814+
ph = bp.GetPruningHandler(14)
3815+
assert.False(t, ph.IsPruningEnabled())
3816+
38133817
bp.SetClosingNodeStarted(true)
38143818
ph = bp.GetPruningHandler(14)
38153819
assert.False(t, ph.IsPruningEnabled())

0 commit comments

Comments
 (0)