diff --git a/engine/execution/pruner/core.go b/engine/execution/pruner/core.go index 18972b9f94e..56d29d5cbc0 100644 --- a/engine/execution/pruner/core.go +++ b/engine/execution/pruner/core.go @@ -57,11 +57,16 @@ func LoopPruneExecutionDataFromRootToLatestSealed( case <-time.After(config.SleepAfterEachIteration): } - iter, err := creator.Create() + iter, hasNext, err := creator.Create() if err != nil { return fmt.Errorf("failed to create block iterator: %w", err) } + if !hasNext { + // no more blocks to iterate, we are done. + continue + } + err = iterateAndPruneAll(iter) if err != nil { return fmt.Errorf("failed to iterate, execute, and commit in batch: %w", err)