forked from ethereum-optimism/optimism
-
Notifications
You must be signed in to change notification settings - Fork 1
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
fix(damgr): failover altda->ethda should keep finalizing l2 chain #23
Merged
samlaf
merged 10 commits into
eigenda-develop
from
samlaf/fix--altda-failover-to-ethda-should-keep-finalizing-l2-chain
Mar 6, 2025
Merged
fix(damgr): failover altda->ethda should keep finalizing l2 chain #23
samlaf
merged 10 commits into
eigenda-develop
from
samlaf/fix--altda-failover-to-ethda-should-keep-finalizing-l2-chain
Mar 6, 2025
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Tests are currently failing, but waiting for discussions in ethereum-optimism#14050 to get resolved. That PR will fix these tests and then we can just rebase on top of them. |
3c2dda8
to
34de1e7
Compare
035ed5f
to
e41d165
Compare
… after failover to ethda Currently it does not, as shown by the test TestAltDA_FinalizationAfterEthDAFailover failing
Weiwei from Polymer found this bug. He proposed a solution. This is an alternative solution which seems simpler, but not 100% of its soundness.
11eb3d1
to
6cf7f03
Compare
…verToEthDACalldata This makes the test takes 4-7 minutes now, which is still acceptable.
litt3
reviewed
Mar 6, 2025
litt3
approved these changes
Mar 6, 2025
litt3
approved these changes
Mar 6, 2025
samlaf
added a commit
that referenced
this pull request
Mar 7, 2025
… finalizing (#23) * test(altda): add a test to make sure altda node keeps finalizing even after failover to ethda Currently it does not, as shown by the test TestAltDA_FinalizationAfterEthDAFailover failing * fix(damgr): ethda failover finalization stall bug Weiwei from Polymer found this bug. He proposed a solution. This is an alternative solution which seems simpler, but not 100% of its soundness. * fix: damgr_test doesn't compile * ci: add op-alt-da tests to ci * chore: add more logs to damgr and altda_data_source * docs(altda_test): fix typo * test(kt-devnet): add node-keeps-finalizing test to kurtosis TestFailoverToEthDACalldata This makes the test takes 4-7 minutes now, which is still acceptable. * style: rename log -> logger * docs(kt-tests): document the EnclaveServiceClients * style: breakup long log line
samlaf
added a commit
that referenced
this pull request
Mar 7, 2025
… finalizing (#23) * test(altda): add a test to make sure altda node keeps finalizing even after failover to ethda Currently it does not, as shown by the test TestAltDA_FinalizationAfterEthDAFailover failing * fix(damgr): ethda failover finalization stall bug Weiwei from Polymer found this bug. He proposed a solution. This is an alternative solution which seems simpler, but not 100% of its soundness. * fix: damgr_test doesn't compile * ci: add op-alt-da tests to ci * chore: add more logs to damgr and altda_data_source * docs(altda_test): fix typo * test(kt-devnet): add node-keeps-finalizing test to kurtosis TestFailoverToEthDACalldata This makes the test takes 4-7 minutes now, which is still acceptable. * style: rename log -> logger * docs(kt-tests): document the EnclaveServiceClients * style: breakup long log line
samlaf
added a commit
that referenced
this pull request
Mar 7, 2025
… finalizing (#23) * test(altda): add a test to make sure altda node keeps finalizing even after failover to ethda Currently it does not, as shown by the test TestAltDA_FinalizationAfterEthDAFailover failing * fix(damgr): ethda failover finalization stall bug Weiwei from Polymer found this bug. He proposed a solution. This is an alternative solution which seems simpler, but not 100% of its soundness. * fix: damgr_test doesn't compile * ci: add op-alt-da tests to ci * chore: add more logs to damgr and altda_data_source * docs(altda_test): fix typo * test(kt-devnet): add node-keeps-finalizing test to kurtosis TestFailoverToEthDACalldata This makes the test takes 4-7 minutes now, which is still acceptable. * style: rename log -> logger * docs(kt-tests): document the EnclaveServiceClients * style: breakup long log line
samlaf
added a commit
that referenced
this pull request
Mar 7, 2025
… finalizing (#23) * test(altda): add a test to make sure altda node keeps finalizing even after failover to ethda Currently it does not, as shown by the test TestAltDA_FinalizationAfterEthDAFailover failing * fix(damgr): ethda failover finalization stall bug Weiwei from Polymer found this bug. He proposed a solution. This is an alternative solution which seems simpler, but not 100% of its soundness. * fix: damgr_test doesn't compile * ci: add op-alt-da tests to ci * chore: add more logs to damgr and altda_data_source * docs(altda_test): fix typo * test(kt-devnet): add node-keeps-finalizing test to kurtosis TestFailoverToEthDACalldata This makes the test takes 4-7 minutes now, which is still acceptable. * style: rename log -> logger * docs(kt-tests): document the EnclaveServiceClients * style: breakup long log line
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes DAINT-122
Description
When altda->ethda failover happens, the op-node's L2 finalized head completely stalls.
This PR consists of 2 commits:
Tests
First commit contains test that shows the buggy behavior. To run:
Fix
The problem with the damgr as it is is that
is always run no matter what. This means that finalization is always driven by altda commitments, but after failover, damgr stops seeing the commitments (because they arent altda commitments anymore). The fix in the second commit is to let the finalization be driven by L1 finalization when there are no altda commitments managed by the damgr.
NOTE: I don't fully understand the subtleties of the damgr and derivation pipeline interactions, so might be doing something wrong here... but seems sound to me, especially since it passes the test.
Additional Context
The test is a bit ugly currently (see TODO comment below). Someone with better understanding of op-node and event processing order would surely be able to help me clean this up. I use this patch for debugging event processing, in case this is of use to anyone: