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

World state halt and chain halt fixes #7027

Merged
merged 12 commits into from
May 3, 2024
Merged

Conversation

jframe
Copy link
Contributor

@jframe jframe commented May 1, 2024

PR description

Further improvements to fix the world state halts and some cases of the chain halt.

  • Added pivot block checks back into the snap sync pipeline to prevent world state halting due to not having the current pivot block. The World State pipeline could halt due to a chain halt since it depended on block added events to check for new pivot blocks.
  • Made the pivot block check in the snap worldstate pipeline async and this was called on the block added event from the chain download pipeline and blocked the import thread
  • Added time to the pivot block selector and decreased the timeout in the DynamicPivtoBlockSelector from 5 minutes to 20 seconds
  • Disconnect peers when we only receive a partial response for block headers after multiple tries. Some nodes were only sending a response of a single header instead so we would get stuck in the chain download.

Fixed Issue(s)

fixed #6908

Thanks for sending a pull request! Have you done the following?

  • Checked out our contribution guidelines?
  • Considered documentation and added the doc-change-required label to this PR if updates are required.
  • Considered the changelog and included an update if required.
  • For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

  • unit tests: ./gradlew build
  • acceptance tests: ./gradlew acceptanceTest
  • integration tests: ./gradlew integrationTest
  • reference tests: ./gradlew ethereum:referenceTests:referenceTests

jframe and others added 7 commits April 29, 2024 13:55
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
…thread is not blocked

Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
@jframe jframe changed the title World state halt fix Halt fix May 1, 2024
jframe added 5 commits May 1, 2024 12:37
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: Jason Frame <jason.frame@consensys.net>
@jframe jframe marked this pull request as ready for review May 3, 2024 00:24
@jframe jframe changed the title Halt fix World state halt and chain halt fixes May 3, 2024
Copy link
Contributor

@pinges pinges left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jframe jframe merged commit bbbfc4c into hyperledger:main May 3, 2024
42 checks passed
@jframe jframe deleted the ws_halt_pivot_2 branch May 3, 2024 00:43
jframe added a commit to jframe/besu that referenced this pull request May 7, 2024
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
jframe added a commit that referenced this pull request May 7, 2024
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
jflo pushed a commit to jflo/besu that referenced this pull request May 28, 2024
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
matthew1001 pushed a commit to kaleido-io/besu that referenced this pull request Jun 7, 2024
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
jflo pushed a commit to jflo/besu that referenced this pull request Jun 10, 2024
Signed-off-by: Jason Frame <jason.frame@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: Justin Florentine <justin+github@florentine.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Worldstate download halt
2 participants