Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add retries in isSynced function when last virtual batch is greater than last SC sequenced batch #3225

Merged
merged 1 commit into from
Feb 7, 2024

Conversation

agnusmor
Copy link
Contributor

@agnusmor agnusmor commented Feb 7, 2024

What does this PR do?

  • Adds retries in isSynced function when last virtual batch is greater than last SC sequenced batch to confirm this scenario (it will retry 8 times waiting 15s between each retry). If after the retries the last virtual batch continues been greater than the last SC sequenced batch the sequencesender will halt

Reviewers

Main reviewers:

@ToniRamirezM
@tclemos

@agnusmor agnusmor added cherry-picked Content has been cherry-picked into a higher version branch zkevm-seq-agg labels Feb 7, 2024
@agnusmor agnusmor added this to the v0.5.6 milestone Feb 7, 2024
@agnusmor agnusmor requested a review from tclemos February 7, 2024 01:42
@agnusmor agnusmor self-assigned this Feb 7, 2024
@cla-bot cla-bot bot added the cla-signed label Feb 7, 2024
@ToniRamirezM ToniRamirezM merged commit bab6187 into release/v0.5.6 Feb 7, 2024
16 checks passed
@ToniRamirezM ToniRamirezM deleted the fix/retry-is-synced branch February 7, 2024 08:19
agnusmor added a commit that referenced this pull request Feb 7, 2024
agnusmor added a commit that referenced this pull request Feb 8, 2024
rachit77 added a commit to 0xPolygon/cdk-validium-node that referenced this pull request Feb 8, 2024
* fix migration batch wip field. fix sequence when no wip batch (0xPolygonHermez#3126)

* fix Leaves smtproof (0xPolygonHermez#3127)

* fix Leaves smtproof

* pointer protection

* fix unit test

* Add l2block log dump when storing error. Refactor ProcessBatchV2 logs (0xPolygonHermez#3129)

* add l2block log dump when storing error. refactor ProcessBatchV2 logs

* add AddL2Block log

* fix index AddL2Block log

* use aux variable to avoid reusing poiner

---------

Co-authored-by: Toni Ramírez <toni@polygon.technology>

* fix panic etherman (0xPolygonHermez#3133)

* Fix GetL2Hash function. Use tx L2 hash returned by the executor when storing L2Block. Logs changes (0xPolygonHermez#3134)

* fix l2 hash when to is nill

* get l2 hash from executor

* fix use tx L2 hash returned by the executor when storing L2Block. Logs changes

* fix linter

* add L2block tracking number to process tx logs

* fix ProcessBatchV2 log format

* fix UTs. set useMainExecGenerated to true

* set prover image to v4.0.0-RC30

* test setting useMainExecGenerated = false

* fix independent_test

* fix non-e2e tests

---------

Co-authored-by: Toni Ramírez <toni@polygon.technology>

* remove l2 tx hash computation and use data stored in the state returned by the executor (0xPolygonHermez#3139)

* etrog: fix permissionless errors (0xPolygonHermez#3140)

* if got an error getting lastBlock produce a SIGSEGV

* reduce info logs

* fix unittest

* Fix missing batch bookmark (0xPolygonHermez#3122)

* fix missingBookMark

* fix missingBookMark

* fixes

* fix

* fix

* fix seq-sender config

* fixes

* doc

* fix wipL2Block deltaTimestamp (0xPolygonHermez#3142)

* improve open new wipL2Block logs

* fix wipL2Block deltaTimestamp

* ensure tx order in stream (0xPolygonHermez#3144)

* fix wipL2Block stateRoot (0xPolygonHermez#3145)

* fix panic NewStackTrie (0xPolygonHermez#3146)

* fix sync initalization for etrog (0xPolygonHermez#3147)

* fix wipL2block imStateRoot (0xPolygonHermez#3148)

* fix tracer to work by block stateroot instead of by tx (0xPolygonHermez#3150)

* update prover image (0xPolygonHermez#3151)

* if a trusted batch is empty and WIP just create the entry in state.batch (0xPolygonHermez#3152)

* fix trace for tx index greater than 0 (0xPolygonHermez#3153)

* add cardona.zip (0xPolygonHermez#3154)

* Fix default value when creating transaction.used_sha256_hashes field in the pool (0xPolygonHermez#3156)

* set DEFAULT 0 when creatingtransaction.used_sha256_hashes field in the pool

* update prover image to v4.0.0

* add cardona testnet (0xPolygonHermez#2909) (0xPolygonHermez#3155)

* add cardona testnet (0xPolygonHermez#2909)
* update config
* update cardona genesis

---------

Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>

* new fields in stream (0xPolygonHermez#3149)

* new fields in stream

* update test

* remove unused constant

* add UpgradeEtrogBatchNumber handling to stream

* doc

* add log to test

* add log to test

* add protection

* add check

* fix

* fix

* set stateManagerPurge to false in Cardona (0xPolygonHermez#3158)

* synchronizer: fix case emtpy batch and unittest (0xPolygonHermez#3159)

* fix case emtpy batch and unittest

* fix error in conversion

* fix unittest

* update prover image to v4.0.1 (0xPolygonHermez#3160)

* update prover image to v4.0.2 (0xPolygonHermez#3162)

* Add a note in deployment instruction to restart rpc after forkId 7 (0xPolygonHermez#3163)

* note to restart zkevm-rpc

* update comment

* change position of point 10

* add point 11

* add lines

* add breakline

* add lines

* add line

* Sync old network compatibility (0xPolygonHermez#3166)

* Sync old network compatibility

* logs

* synchronizer: unittest and remove pool_reorg  (0xPolygonHermez#3111) (0xPolygonHermez#3168)

* removed reorgPool call
* add test for l1 sequenced batches
* removed panic after halt call as PR comments ask for

* fix parentHash when storing a new L2 block (0xPolygonHermez#3171)

* Fix/rom error (0xPolygonHermez#3177)

* fix rom error

* linter

* fix

* Cherrypick/0xPolygonHermez#3179 geth version v1.13.11 (0xPolygonHermez#3180)

* new geth version v1.13.11

* Add sanity check: last L2 block timestamp in the sequence is also L1BlockTimestampMargin seconds behind "now" (0xPolygonHermez#3181)

* add sanity check L1BlockTimestampMargin vs now

* Update prover image to v4.0.4

* synchronizer: update fromTrusted fix cache update (0xPolygonHermez#3169)

* fix cache update and sync from Trusted of closed batch

* Feature/3173 sync trusted state in networks previous to  ETROG (0xPolygonHermez#3175)

* Fix/3164 eth syncing dont return expected values (0xPolygonHermez#3165)

* fix im state root in stream (0xPolygonHermez#3192)

* sync: fix getting URL from contract in compatibility mode, and set sequential by default (0xPolygonHermez#3191)

* fix getting URL from contract in compatibility mode
* synchronizer configuration  by default use `sequential` mode

* Fix isSynced function (0xPolygonHermez#3188)

* fix isSynced

* fix linter

* fix logs

* halt on sanity check error

* fix l2 block gas price to use value returned by the executor (0xPolygonHermez#3186) (0xPolygonHermez#3190)

* allow rpc to access the ForkID directly from DB (0xPolygonHermez#3196)

* allow rpc to access the ForkID directly from DB

* update docs

* allow rpc to access the ForkID directly from DB (0xPolygonHermez#3197)

* allow rpc to access the ForkID directly from DB

* update docs

* fix migration down; check for greater forkIDs instead of the next +1 (0xPolygonHermez#3182)

* fix state storage config initialization

* add tests and fix get forkID by block number

* fix test TestGetForkIDByBlockNumber

---------

Co-authored-by: agnusmor <agnusmor@gmail.com>

* Fix/3200 l1inforoot error on reorg (0xPolygonHermez#3201)

* L1InfooTree cache is calculated when needed and is discard when a reorg happens

* Fix/3203 panic if batch process fail and must be closed (0xPolygonHermez#3206)

* synchronizer avoid panic if process trusted batch fails

* Remove L1SynchronizationMode parameter from environments config files (it will use default "sequential" value) (0xPolygonHermez#3210)

* allow GetL2TxHashByTxHash to return null for txs prior to Etrog (0xPolygonHermez#3209)

* Fix L2 block gas limit to 2**50 (1125899906842624) (0xPolygonHermez#3219)

* set l2 block gas limit to 2**50 (1125899906842624)

* limit L2 block gasLimit in StoreL2Block function

* change 2^64-1 for an esmitation of blocks (0xPolygonHermez#3220)

* removed restart RPC on deploy instructions (0xPolygonHermez#3221)

* Cherry pick/3222 (0xPolygonHermez#3224)

* fix stream

* fix stream

* fix stream

* fix stream

* linter

* add retries in is Synced function when last virtual batch is greater than last SC sequenced batcj (0xPolygonHermez#3225)

* wip

* update mocks

* wip

* modified sequencesender interfaces signatures

* linter fix

* removed unused methods and linter fix

* wip

* update diff docs

* Fix errors when generating mocks and regenerate them

* cr fix

* cr fix

* docs update

* Generate mock_etherman for sequencesender package

* cr fix and docs update

* Fix etherman test

* fix UT

* update docs

---------

Co-authored-by: agnusmor <100322135+agnusmor@users.noreply.github.com>
Co-authored-by: Alonso Rodriguez <ARR552@users.noreply.github.com>
Co-authored-by: Toni Ramírez <toni@polygon.technology>
Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>
Co-authored-by: Joan Esteban <129153821+joanestebanr@users.noreply.github.com>
Co-authored-by: Toni Ramírez <58293609+ToniRamirezM@users.noreply.github.com>
Co-authored-by: agnusmor <agnusmor@gmail.com>
Co-authored-by: Stefan Negovanović <stefan@ethernal.tech>
Co-authored-by: bros <arnaubennassar5@gmail.com>
rachit77 added a commit to 0xPolygon/cdk-validium-node that referenced this pull request Feb 12, 2024
* fix migration batch wip field. fix sequence when no wip batch (0xPolygonHermez#3126)

* fix Leaves smtproof (0xPolygonHermez#3127)

* fix Leaves smtproof

* pointer protection

* fix unit test

* Add l2block log dump when storing error. Refactor ProcessBatchV2 logs (0xPolygonHermez#3129)

* add l2block log dump when storing error. refactor ProcessBatchV2 logs

* add AddL2Block log

* fix index AddL2Block log

* use aux variable to avoid reusing poiner

---------

Co-authored-by: Toni Ramírez <toni@polygon.technology>

* fix panic etherman (0xPolygonHermez#3133)

* Fix GetL2Hash function. Use tx L2 hash returned by the executor when storing L2Block. Logs changes (0xPolygonHermez#3134)

* fix l2 hash when to is nill

* get l2 hash from executor

* fix use tx L2 hash returned by the executor when storing L2Block. Logs changes

* fix linter

* add L2block tracking number to process tx logs

* fix ProcessBatchV2 log format

* fix UTs. set useMainExecGenerated to true

* set prover image to v4.0.0-RC30

* test setting useMainExecGenerated = false

* fix independent_test

* fix non-e2e tests

---------

Co-authored-by: Toni Ramírez <toni@polygon.technology>

* remove l2 tx hash computation and use data stored in the state returned by the executor (0xPolygonHermez#3139)

* etrog: fix permissionless errors (0xPolygonHermez#3140)

* if got an error getting lastBlock produce a SIGSEGV

* reduce info logs

* fix unittest

* Fix missing batch bookmark (0xPolygonHermez#3122)

* fix missingBookMark

* fix missingBookMark

* fixes

* fix

* fix

* fix seq-sender config

* fixes

* doc

* fix wipL2Block deltaTimestamp (0xPolygonHermez#3142)

* improve open new wipL2Block logs

* fix wipL2Block deltaTimestamp

* ensure tx order in stream (0xPolygonHermez#3144)

* fix wipL2Block stateRoot (0xPolygonHermez#3145)

* fix panic NewStackTrie (0xPolygonHermez#3146)

* fix sync initalization for etrog (0xPolygonHermez#3147)

* fix wipL2block imStateRoot (0xPolygonHermez#3148)

* fix tracer to work by block stateroot instead of by tx (0xPolygonHermez#3150)

* update prover image (0xPolygonHermez#3151)

* if a trusted batch is empty and WIP just create the entry in state.batch (0xPolygonHermez#3152)

* fix trace for tx index greater than 0 (0xPolygonHermez#3153)

* add cardona.zip (0xPolygonHermez#3154)

* Fix default value when creating transaction.used_sha256_hashes field in the pool (0xPolygonHermez#3156)

* set DEFAULT 0 when creatingtransaction.used_sha256_hashes field in the pool

* update prover image to v4.0.0

* add cardona testnet (0xPolygonHermez#2909) (0xPolygonHermez#3155)

* add cardona testnet (0xPolygonHermez#2909)
* update config
* update cardona genesis

---------

Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>

* new fields in stream (0xPolygonHermez#3149)

* new fields in stream

* update test

* remove unused constant

* add UpgradeEtrogBatchNumber handling to stream

* doc

* add log to test

* add log to test

* add protection

* add check

* fix

* fix

* set stateManagerPurge to false in Cardona (0xPolygonHermez#3158)

* synchronizer: fix case emtpy batch and unittest (0xPolygonHermez#3159)

* fix case emtpy batch and unittest

* fix error in conversion

* fix unittest

* update prover image to v4.0.1 (0xPolygonHermez#3160)

* update prover image to v4.0.2 (0xPolygonHermez#3162)

* Add a note in deployment instruction to restart rpc after forkId 7 (0xPolygonHermez#3163)

* note to restart zkevm-rpc

* update comment

* change position of point 10

* add point 11

* add lines

* add breakline

* add lines

* add line

* Sync old network compatibility (0xPolygonHermez#3166)

* Sync old network compatibility

* logs

* synchronizer: unittest and remove pool_reorg  (0xPolygonHermez#3111) (0xPolygonHermez#3168)

* removed reorgPool call
* add test for l1 sequenced batches
* removed panic after halt call as PR comments ask for

* fix parentHash when storing a new L2 block (0xPolygonHermez#3171)

* Fix/rom error (0xPolygonHermez#3177)

* fix rom error

* linter

* fix

* Cherrypick/0xPolygonHermez#3179 geth version v1.13.11 (0xPolygonHermez#3180)

* new geth version v1.13.11

* Add sanity check: last L2 block timestamp in the sequence is also L1BlockTimestampMargin seconds behind "now" (0xPolygonHermez#3181)

* add sanity check L1BlockTimestampMargin vs now

* Update prover image to v4.0.4

* synchronizer: update fromTrusted fix cache update (0xPolygonHermez#3169)

* fix cache update and sync from Trusted of closed batch

* Feature/3173 sync trusted state in networks previous to  ETROG (0xPolygonHermez#3175)

* Fix/3164 eth syncing dont return expected values (0xPolygonHermez#3165)

* fix im state root in stream (0xPolygonHermez#3192)

* sync: fix getting URL from contract in compatibility mode, and set sequential by default (0xPolygonHermez#3191)

* fix getting URL from contract in compatibility mode
* synchronizer configuration  by default use `sequential` mode

* Fix isSynced function (0xPolygonHermez#3188)

* fix isSynced

* fix linter

* fix logs

* halt on sanity check error

* fix l2 block gas price to use value returned by the executor (0xPolygonHermez#3186) (0xPolygonHermez#3190)

* allow rpc to access the ForkID directly from DB (0xPolygonHermez#3196)

* allow rpc to access the ForkID directly from DB

* update docs

* allow rpc to access the ForkID directly from DB (0xPolygonHermez#3197)

* allow rpc to access the ForkID directly from DB

* update docs

* fix migration down; check for greater forkIDs instead of the next +1 (0xPolygonHermez#3182)

* fix state storage config initialization

* add tests and fix get forkID by block number

* fix test TestGetForkIDByBlockNumber

---------

Co-authored-by: agnusmor <agnusmor@gmail.com>

* Fix/3200 l1inforoot error on reorg (0xPolygonHermez#3201)

* L1InfooTree cache is calculated when needed and is discard when a reorg happens

* Fix/3203 panic if batch process fail and must be closed (0xPolygonHermez#3206)

* synchronizer avoid panic if process trusted batch fails

* Remove L1SynchronizationMode parameter from environments config files (it will use default "sequential" value) (0xPolygonHermez#3210)

* allow GetL2TxHashByTxHash to return null for txs prior to Etrog (0xPolygonHermez#3209)

* Fix L2 block gas limit to 2**50 (1125899906842624) (0xPolygonHermez#3219)

* set l2 block gas limit to 2**50 (1125899906842624)

* limit L2 block gasLimit in StoreL2Block function

* change 2^64-1 for an esmitation of blocks (0xPolygonHermez#3220)

* removed restart RPC on deploy instructions (0xPolygonHermez#3221)

* Cherry pick/3222 (0xPolygonHermez#3224)

* fix stream

* fix stream

* fix stream

* fix stream

* linter

* add retries in is Synced function when last virtual batch is greater than last SC sequenced batcj (0xPolygonHermez#3225)

* Fix/3233 the etrog event UpdateEtrogSequence doesnt store the GER in batch table (0xPolygonHermez#3234)

* remove state.batch section from environments config files (0xPolygonHermez#3230)

* get GER for l2block on Etrog (0xPolygonHermez#3238)

* Cherry-pick 0xPolygonHermez#3240, 0xPolygonHermez#3137: Sequence batch only when sanity check is done. Do fatal for some finalizer halt events. Several fixes. Optmize purge pool (0xPolygonHermez#3241)

* sequence batch only when sanity check is done. Do fatal for some halt events. Several fixes

* feat: optimize purge txn pool query (0xPolygonHermez#3137)

* feat: optimize purge txn pool query

* fix: add new method to state interface

* feat: generate new state mocks

* fix merge

* fix %w

---------

Co-authored-by: Idris Hanafi <ifh101@gmail.com>

* fix

* docs update

* fix

---------

Co-authored-by: agnusmor <100322135+agnusmor@users.noreply.github.com>
Co-authored-by: Alonso Rodriguez <ARR552@users.noreply.github.com>
Co-authored-by: Toni Ramírez <toni@polygon.technology>
Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>
Co-authored-by: Joan Esteban <129153821+joanestebanr@users.noreply.github.com>
Co-authored-by: Toni Ramírez <58293609+ToniRamirezM@users.noreply.github.com>
Co-authored-by: agnusmor <agnusmor@gmail.com>
Co-authored-by: Idris Hanafi <ifh101@gmail.com>
zjg555543 added a commit to okx/xlayer-node that referenced this pull request Feb 19, 2024
* Fix/3200 l1inforoot error on reorg (0xPolygonHermez#3201)

* L1InfooTree cache is calculated when needed and is discard when a reorg happens

* Fix/3203 panic if batch process fail and must be closed (0xPolygonHermez#3206)

* synchronizer avoid panic if process trusted batch fails

* Remove L1SynchronizationMode parameter from environments config files (it will use default "sequential" value) (0xPolygonHermez#3210)

* allow GetL2TxHashByTxHash to return null for txs prior to Etrog (0xPolygonHermez#3209)

* Fix L2 block gas limit to 2**50 (1125899906842624) (0xPolygonHermez#3219)

* set l2 block gas limit to 2**50 (1125899906842624)

* limit L2 block gasLimit in StoreL2Block function

* change 2^64-1 for an esmitation of blocks (0xPolygonHermez#3220)

* removed restart RPC on deploy instructions (0xPolygonHermez#3221)

* Cherry pick/3222 (0xPolygonHermez#3224)

* fix stream

* fix stream

* fix stream

* fix stream

* linter

* add retries in is Synced function when last virtual batch is greater than last SC sequenced batcj (0xPolygonHermez#3225)

* Fix/3233 the etrog event UpdateEtrogSequence doesnt store the GER in batch table (0xPolygonHermez#3234)

* remove state.batch section from environments config files (0xPolygonHermez#3230)

* get GER for l2block on Etrog (0xPolygonHermez#3238)

* Cherry-pick 0xPolygonHermez#3240, 0xPolygonHermez#3137: Sequence batch only when sanity check is done. Do fatal for some finalizer halt events. Several fixes. Optmize purge pool (0xPolygonHermez#3241)

* sequence batch only when sanity check is done. Do fatal for some halt events. Several fixes

* feat: optimize purge txn pool query (0xPolygonHermez#3137)

* feat: optimize purge txn pool query

* fix: add new method to state interface

* feat: generate new state mocks

* fix merge

* fix %w

---------

Co-authored-by: Idris Hanafi <ifh101@gmail.com>

* fix lint

---------

Co-authored-by: Joan Esteban <129153821+joanestebanr@users.noreply.github.com>
Co-authored-by: agnusmor <100322135+agnusmor@users.noreply.github.com>
Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>
Co-authored-by: Toni Ramírez <58293609+ToniRamirezM@users.noreply.github.com>
Co-authored-by: Idris Hanafi <ifh101@gmail.com>
Co-authored-by: root <root@ip-172-31-46-182.ap-northeast-1.compute.internal>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-picked Content has been cherry-picked into a higher version branch cla-signed zkevm-seq-agg
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants