add BWS stall detection and step-level debug logging#10045
Open
macfarla wants to merge 2 commits intobesu-eth:mainfrom
Open
add BWS stall detection and step-level debug logging#10045macfarla wants to merge 2 commits intobesu-eth:mainfrom
macfarla wants to merge 2 commits intobesu-eth:mainfrom
Conversation
- BackwardSyncContext: log when reusing an existing session (vs starting a new one) so stuck sessions are immediately visible - BackwardSyncContext: emit WARN if a session has made no progress for more than 5 minutes, including session age, time since last progress, and future.isDone() to confirm it is stuck - BackwardSyncContext: record last-progress timestamp on each block import so the stall timer resets as work proceeds - BackwardSyncContext: log attempt number on each retry so retry exhaustion is visible at DEBUG - BackwardSyncAlgorithm: add DEBUG log for each pickNextStep() branch (hash processing, backward fetch, forward sync, known ancestors) so the algorithm's path through each cycle is traceable Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds stall detection and debug logging to the backward sync subsystem to improve observability of stuck sessions and algorithm step decisions.
Changes:
- Add stall detection warning when a backward sync session makes no progress for 5+ minutes
- Add debug logging for session reuse, retry attempts, and each
pickNextStep()branch - Track last-progress timestamp on block imports to reset the stall timer
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| BackwardSyncContext.java | Stall detection, progress tracking, session reuse logging, retry attempt logging |
| BackwardSyncAlgorithm.java | Debug logging for each pickNextStep() decision branch |
You can also share your feedback on Copilot code review. Take the survey.
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
This file contains hidden or 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
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.
Thanks for sending a pull request! Have you done the following?
doc-change-requiredlabel to this PR if updates are required.Locally, you can run these tests to catch failures early:
./gradlew spotlessApply./gradlew build./gradlew acceptanceTest./gradlew integrationTest./gradlew ethereum:referenceTests:referenceTests