mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 06:36:43 +00:00
fix: use correct hash for ccc write in worker (#438)
This commit is contained in:
parent
5611b8296a
commit
26eeb40ea3
3 changed files with 21 additions and 20 deletions
|
|
@ -111,7 +111,8 @@ func (v *BlockValidator) ValidateBody(block *types.Block) error {
|
|||
log.Trace(
|
||||
"Validator write block row consumption",
|
||||
"id", v.circuitCapacityChecker.ID,
|
||||
"sealHash", block.Hash().String(),
|
||||
"number", block.NumberU64(),
|
||||
"hash", block.Hash().String(),
|
||||
"rowConsumption", rowConsumption,
|
||||
)
|
||||
rawdb.WriteBlockRowConsumption(v.db, block.Hash(), rowConsumption)
|
||||
|
|
@ -272,7 +273,7 @@ func (v *BlockValidator) validateCircuitRowConsumption(block *types.Block) (*typ
|
|||
log.Trace(
|
||||
"Validator apply ccc for block",
|
||||
"id", v.circuitCapacityChecker.ID,
|
||||
"number", block.Number(),
|
||||
"number", block.NumberU64(),
|
||||
"hash", block.Hash().String(),
|
||||
"len(txs)", block.Transactions().Len(),
|
||||
)
|
||||
|
|
@ -291,13 +292,13 @@ func (v *BlockValidator) validateCircuitRowConsumption(block *types.Block) (*typ
|
|||
defer v.cMu.Unlock()
|
||||
|
||||
v.circuitCapacityChecker.Reset()
|
||||
log.Trace("Validator reset ccc")
|
||||
log.Trace("Validator reset ccc", "id", v.circuitCapacityChecker.ID)
|
||||
rc, err := v.circuitCapacityChecker.ApplyBlock(traces)
|
||||
|
||||
log.Trace(
|
||||
"Validator apply ccc for block result",
|
||||
"id", v.circuitCapacityChecker.ID,
|
||||
"number", block.Number(),
|
||||
"number", block.NumberU64(),
|
||||
"hash", block.Hash().String(),
|
||||
"len(txs)", block.Transactions().Len(),
|
||||
"rc", rc,
|
||||
|
|
|
|||
|
|
@ -637,20 +637,6 @@ func (w *worker) taskLoop() {
|
|||
w.pendingMu.Lock()
|
||||
delete(w.pendingTasks, sealHash)
|
||||
w.pendingMu.Unlock()
|
||||
} else {
|
||||
// Store highest L1 queue index processed by this block. This includes both
|
||||
// included and skipped messages. This way, if a block only skips messages,
|
||||
// we won't reprocess the same messages from the next block.
|
||||
rawdb.WriteFirstQueueIndexNotInL2Block(w.eth.ChainDb(), sealHash, task.maxL1Index+1)
|
||||
|
||||
// Store circuit row consumption.
|
||||
log.Trace(
|
||||
"Worker write block row consumption",
|
||||
"id", w.circuitCapacityChecker.ID,
|
||||
"sealHash", sealHash.String(),
|
||||
"accRows", task.accRows,
|
||||
)
|
||||
rawdb.WriteBlockRowConsumption(w.eth.ChainDb(), sealHash, task.accRows)
|
||||
}
|
||||
case <-w.exitCh:
|
||||
interrupt()
|
||||
|
|
@ -678,6 +664,7 @@ func (w *worker) resultLoop() {
|
|||
sealhash = w.engine.SealHash(block.Header())
|
||||
hash = block.Hash()
|
||||
)
|
||||
|
||||
w.pendingMu.RLock()
|
||||
task, exist := w.pendingTasks[sealhash]
|
||||
w.pendingMu.RUnlock()
|
||||
|
|
@ -711,6 +698,19 @@ func (w *worker) resultLoop() {
|
|||
}
|
||||
logs = append(logs, receipt.Logs...)
|
||||
}
|
||||
// Store highest L1 queue index processed by this block. This includes both
|
||||
// included and skipped messages. This way, if a block only skips messages,
|
||||
// we won't reprocess the same messages from the next block.
|
||||
rawdb.WriteFirstQueueIndexNotInL2Block(w.eth.ChainDb(), hash, task.maxL1Index+1)
|
||||
// Store circuit row consumption.
|
||||
log.Trace(
|
||||
"Worker write block row consumption",
|
||||
"id", w.circuitCapacityChecker.ID,
|
||||
"number", block.Number(),
|
||||
"hash", hash.String(),
|
||||
"accRows", task.accRows,
|
||||
)
|
||||
rawdb.WriteBlockRowConsumption(w.eth.ChainDb(), hash, task.accRows)
|
||||
// Commit block and state to database.
|
||||
_, err := w.chain.WriteBlockWithState(block, receipts, logs, task.state, true)
|
||||
if err != nil {
|
||||
|
|
@ -1079,7 +1079,7 @@ func (w *worker) commitNewWork(interrupt *int32, noempty bool, timestamp int64)
|
|||
tstart := time.Now()
|
||||
parent := w.chain.CurrentBlock()
|
||||
w.circuitCapacityChecker.Reset()
|
||||
log.Trace("Worker reset ccc")
|
||||
log.Trace("Worker reset ccc", "id", w.circuitCapacityChecker.ID)
|
||||
|
||||
if parent.Time() >= uint64(timestamp) {
|
||||
timestamp = int64(parent.Time() + 1)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import (
|
|||
const (
|
||||
VersionMajor = 4 // Major version component of the current release
|
||||
VersionMinor = 3 // Minor version component of the current release
|
||||
VersionPatch = 17 // Patch version component of the current release
|
||||
VersionPatch = 18 // Patch version component of the current release
|
||||
VersionMeta = "sepolia" // Version metadata to append to the version string
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue