Skip to content

Commit 8100533

Browse files
authored
keep halting when use HaltOnBatchNumber param (#209)
* add keep halting * setup ds default * update * update
1 parent 97541a1 commit 8100533

File tree

5 files changed

+24
-5
lines changed

5 files changed

+24
-5
lines changed

sequencer/batch.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func (f *finalizer) initWIPBatch(ctx context.Context) {
130130

131131
if isClosed { //if the last batch is close then open a new wip batch
132132
if lastStateBatch.BatchNumber+1 == f.cfg.HaltOnBatchNumber {
133-
f.Halt(ctx, fmt.Errorf("finalizer reached stop sequencer on batch number: %d", f.cfg.HaltOnBatchNumber), false)
133+
f.keepHalting(ctx, fmt.Errorf("finalizer reached stop sequencer on batch number: %d", f.cfg.HaltOnBatchNumber))
134134
}
135135
f.wipBatch = f.openNewWIPBatch(lastStateBatch.BatchNumber+1, lastStateBatch.StateRoot)
136136
f.pipBatch = nil
@@ -278,7 +278,7 @@ func (f *finalizer) closeAndOpenNewWIPBatch(ctx context.Context, closeReason sta
278278
return fmt.Errorf("error finalizing sip batch %d when halting on batch %d", f.sipBatch.batchNumber, f.cfg.HaltOnBatchNumber)
279279
}
280280

281-
f.Halt(ctx, fmt.Errorf("finalizer reached stop sequencer on batch number: %d", f.cfg.HaltOnBatchNumber), false)
281+
f.keepHalting(ctx, fmt.Errorf("finalizer reached stop sequencer on batch number: %d", f.cfg.HaltOnBatchNumber))
282282
}
283283

284284
// Process forced batches

sequencer/finalizer_xlayer.go

+16
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package sequencer
22

33
import (
4+
"context"
5+
"fmt"
46
"time"
57

8+
"github.com/0xPolygonHermez/zkevm-node/event"
69
"github.com/0xPolygonHermez/zkevm-node/log"
710
seqMetrics "github.com/0xPolygonHermez/zkevm-node/sequencer/metrics"
811
)
@@ -15,3 +18,16 @@ func (f *finalizer) tryToSleep() {
1518
seqMetrics.GetLogStatistics().CumulativeCounting(seqMetrics.GetTxPauseCounter)
1619
}
1720
}
21+
22+
// keepHalting keeps the finalizer halted
23+
func (f *finalizer) keepHalting(ctx context.Context, err error) {
24+
f.haltFinalizer.Store(true)
25+
26+
f.LogEvent(ctx, event.Level_Critical, event.EventID_FinalizerHalt, fmt.Sprintf("finalizer halted due to error: %s", err), nil)
27+
28+
for {
29+
seqMetrics.HaltCount()
30+
log.Errorf("keep halting finalizer, error: %v", err)
31+
time.Sleep(5 * time.Second) //nolint:gomnd
32+
}
33+
}

sequencer/l2block.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ func (f *finalizer) processL2Block(ctx context.Context, l2Block *L2Block) error
289289
blockResponse.BlockNumber, l2Block.trackingNum, l2Block.metrics.log(), f.metrics.startsAt().Unix(), f.metrics.log())
290290
}
291291

292-
log.Infof("%v", l2Block.metrics.Summary(blockResponse.BlockNumber, f.wipBatch.batchNumber, l2Block.timestamp))
292+
log.Infof("%v", l2Block.metrics.Summary(blockResponse.BlockNumber, l2Block.batch.batchNumber, l2Block.timestamp))
293293
return nil
294294
}
295295

test/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ STOPV1TOV2APPROVE := $(DOCKERCOMPOSE) stop $(DOCKERCOMPOSENODEAPPROVEV1TOV2) &&
141141

142142
STOPMETRICS := $(DOCKERCOMPOSE) stop $(DOCKERCOMPOSEMETRICS) && $(DOCKERCOMPOSE) rm -f $(DOCKERCOMPOSEMETRICS)
143143

144+
STOPDSDATA := rm -rf datastream.bin && rm -rf datastream.db
145+
144146
STOP := $(DOCKERCOMPOSE) down --remove-orphans
145147

146148
.PHONY: test-full-non-e2e
@@ -693,6 +695,7 @@ run-v1tov2: ## Runs a full node using v1tov2 network
693695
.PHONY: stop
694696
stop: ## Stops all services
695697
$(STOP)
698+
$(STOPDSDATA)
696699

697700
.PHONY: ship
698701
ship: ## Builds docker images and run them

test/config/test.node.config.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ StateConsistencyCheckInterval = "5s"
130130
Port = 6900
131131
Filename = "/datastreamer/datastream.bin"
132132
Version = 1
133-
ChainID = 1337
134-
Enabled = false
133+
ChainID = 195
134+
Enabled = true
135135

136136
[SequenceSender]
137137
WaitPeriodSendSequence = "15s"

0 commit comments

Comments
 (0)