Comments (7)
fixed pr: #3629
from zkevm-node.
It seems increase sequencer's executor's dbMTCacheSize
can cover this situation.
from zkevm-node.
Only happend when sequencer set SequentialProcessL2Block
to false
from zkevm-node.
I think from this pr: #3604
sequencer may halt under loadtest situation,
root cause:
wip batch (tx-by-tx process) will build his state on executor's dbMTCache, but dbMTCache is a LRU, so after StateRootSyncInterval
time running, old state may dropped by executor. Then when sequencer open a new L2block, it may fail because of missing key.
Way to solve:
- increase executor's
dbMTCacheSize
- decrease the
StateRootSyncInterval
X Layer testnet may halt following below configuration:
sequencer
SequentialProcessL2Block = false
Sequencer.Finalizer.StateRootSyncInterval = "3600s"
executor
"dbMTCacheSize": 1024,
from zkevm-node.
Hi, this is a known issue with the associative cache in executor/prover, to fix it you need to disable it (useAssociativeCache = false) in executor configuration. The prover team is working to fix the issue.
from zkevm-node.
useAssociativeCache
Our executor do not set useAssociativeCache
, after check the prover's code, i think it's default to false.
from zkevm-node.
Executor‘s configure
{
"runExecutorServer": true,
"runExecutorClient": false,
"runExecutorClientMultithread": false,
"runHashDBServer": true,
"runHashDBTest": false,
"runAggregatorServer": false,
"runAggregatorClient": false,
"runFileGenBatchProof": false,
"runFileGenAggregatedProof": false,
"runFileGenFinalProof": false,
"runFileProcessBatch": false,
"runFileProcessBatchMultithread": false,
"runFileExecutor": false,
"runKeccakScriptGenerator": false,
"runKeccakTest": false,
"runStorageSMTest": false,
"runBinarySMTest": false,
"runMemAlignSMTest": false,
"runSHA256Test": false,
"runBlakeTest": false,
"executeInParallel": true,
"useMainExecGenerated": true,
"useProcessBatchCache": false,
"saveRequestToFile": false,
"saveInputToFile": false,
"saveDbReadsToFile": false,
"saveDbReadsToFileOnChange": false,
"saveOutputToFile": false,
"saveProofToFile": false,
"saveResponseToFile": false,
"saveFilesInSubfolders": false,
"loadDBToMemCache": false,
"loadDBToMemCacheInParallel": false,
"loadDBToMemTimeout": 30000000,
"dbMTCacheSize": 1024,
"dbProgramCacheSize": 1024,
"opcodeTracer": false,
"logRemoteDbReads": false,
"logExecutorServerInput": false,
"logExecutorServerInputGasThreshold": 1048576,
"logExecutorServerResponses": false,
"logExecutorServerTxs": false,
"executorServerPort": 50071,
"executorROMLineTraces": false,
"executorTimeStatistics": false,
"executorClientPort": 50071,
"executorClientHost": "127.0.0.1",
"executorClientLoops": 1,
"hashDBServerPort": 50061,
"hashDBURL": "local",
"aggregatorServerPort": 50081,
"aggregatorClientPort": 50081,
"aggregatorClientHost": "127.0.0.1",
"aggregatorClientMockTimeout": 10000000,
"aggregatorClientWatchdogTimeout": 60000000,
"mapConstPolsFile": false,
"mapConstantsTreeFile": false,
"inputFile": "testvectors/performance/121_tx_input.json",
"inputFile2": "testvectors/aggregatedProof/recursive1.zkin.proof_1.json",
"outputPath": "runtime/output",
"configPath": "config",
"zkevmCmPols_disabled": "runtime/zkevm.commit",
"zkevmCmPolsAfterExecutor_disabled": "runtime/zkevm.commit",
"c12aCmPols": "runtime/c12a.commit",
"recursive1CmPols_disabled": "runtime/recursive1.commit",
"recursive2CmPols_disabled": "runtime/recursive2.commit",
"recursivefCmPols_disabled": "runtime/recursivef.commit",
"finalCmPols_disabled": "runtime/final.commit",
"publicsOutput": "public.json",
"proofFile": "proof.json",
"databaseURL": "postgresql://xgon_prover_user:xxxxx@xgon-state-pap.cluster-cpvlnksujjmh.ap-east-1.rds.amazonaws.com:5432/xgon_prover_db",
"dbNodesTableName": "state.nodes",
"dbProgramTableName": "state.program",
"dbMultiWrite": true,
"dbFlushInParallel": false,
"dbConnectionsPool": true,
"dbNumberOfPoolConnections": 506,
"dbMetrics": false,
"dbClearCache": false,
"dbGetTree": true,
"dbReadRetryDelay": 100000,
"cleanerPollingPeriod": 600,
"requestsPersistence": 3600,
"maxExecutorThreads": 100,
"maxProverThreads": 100,
"maxHashDBThreads": 200
}
from zkevm-node.
Related Issues (20)
- The Sequencer is taking too long to start. HOT 2
- Pass contextId in ProcessRequest struct instead to passing it as parameter of the ProcessBatchV2 function
- Add a paramater to synchronizer to choose if sync from L2 or not
- Use tx index reported in the processBatchResponse instead to use the index position in the array
- Cancel isSynced function if prover context/connection was cancelled
- Fix setting final proof generating_since field to null before the proof has sent and confirmed in L1
- Remove hardcoded use of forkid 9 in Aggregator
- improve gas estimation by calculating optimistic gas HOT 2
- Change synchronization config params 'Enable' to 'Enabled' for increase coherence
- Remove synchronizer dependency from EthTxManager
- cherry-pick PR #3611 into develop
- cherry-pick PR #3653 into develop
- cherry-pick PR #3658 into v0.7.0
- cherry-pick PR #3658 into develop
- cherry-pick PR #3648 into v0.6.9
- cherry-pick PR #3648 into v0.7.0
- eth_getFilterLogs returns empty may cause NullPointerException (NPE) in web3j
- Resend a monitorTx with etherman when the first sendTx returns error HOT 1
- synchronizer: Add a debug feature to call Executor with `NoCounters` flag to true
- [Aggregator] Recursive proof not eligible to be verified: not containing complete sequences HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zkevm-node.