From 12ced6bf23d32129bf672aa1eadff4db0d6c92ab Mon Sep 17 00:00:00 2001 From: Scott Fairclough <70711990+hexoscott@users.noreply.github.com> Date: Mon, 30 Sep 2024 14:36:50 +0100 Subject: [PATCH] finish last block in batch based on block timing (#1248) --- zk/stages/stage_sequence_execute.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/zk/stages/stage_sequence_execute.go b/zk/stages/stage_sequence_execute.go index 35d98d9be0a..a9e751f24e5 100644 --- a/zk/stages/stage_sequence_execute.go +++ b/zk/stages/stage_sequence_execute.go @@ -158,7 +158,14 @@ func SpawnSequencingStage( log.Info(fmt.Sprintf("[%s] Starting batch %d...", logPrefix, batchState.batchNumber)) + // once the batch ticker has ticked we need a signal to close the batch after the next block is done + batchTimedOut := false + for blockNumber := executionAt + 1; runLoopBlocks; blockNumber++ { + if batchTimedOut { + log.Debug(fmt.Sprintf("[%s] Closing batch due to timeout", logPrefix)) + break + } log.Info(fmt.Sprintf("[%s] Starting block %d (forkid %v)...", logPrefix, blockNumber, batchState.forkId)) logTicker.Reset(10 * time.Second) blockTicker.Reset(cfg.zk.SequencerBlockSealTime) @@ -231,8 +238,8 @@ func SpawnSequencingStage( } case <-batchTicker.C: if !batchState.isAnyRecovery() { - runLoopBlocks = false - break LOOP_TRANSACTIONS + log.Debug(fmt.Sprintf("[%s] Batch timeout reached", logPrefix)) + batchTimedOut = true } default: if batchState.isLimboRecovery() {