fix: avoid spurious error log when block range is too large in l2gersync#1607
fix: avoid spurious error log when block range is too large in l2gersync#1607joanestebanr merged 5 commits intorelease/0.10from
Conversation
Move log.Errorf to callers (GetInjectedGERsForRange / GetRemovedGERsForRange) so it only fires for real errors, not for max-range errors that are transparently handled by splitting into chunks. Closes #1604 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @joanestebanr's task in 1m 27s —— View job PR Review Complete ✅🚀 What's New
🐛 Bug Fixes
📋 Config UpdatesNone.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7c8b8ca508
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Capture the result of ChunkedRangeQuery and emit log.Errorf when a chunk fails, restoring error visibility for real failures during the chunked retry path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adjusts L2 GER syncing log behavior so “max block range” filter errors (which are handled by chunking) don’t emit confusing ERROR logs before the fallback retry path runs.
Changes:
- Moved
log.Errorfout offetchInjectedGERs/fetchRemovedGERsintoGetInjectedGERsForRange/GetRemovedGERsForRange. - Kept the max-range detection +
ChunkedRangeQueryfallback behavior unchanged.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|



🔄 Changes Summary
log.Errorffrom internal fetch functions (fetchInjectedGERs,fetchRemovedGERs) to their callers (GetInjectedGERsForRange,GetRemovedGERsForRange), so the error is only logged when it is a real failure — not when it is a recoverable max-block-range condition that is transparently handled by splitting into chunks.✅ Testing
🐞 Issues
failed to create RemoveGlobalExitRoot event iterator: query exceeds max block range#1604📝 Notes
fetchRemovedGERs/fetchInjectedGERsloggedErrorfunconditionally on any filter error, but their callers detectisMaxRangeErrand retry transparently withChunkedRangeQuery. The log fired before the caller had a chance to handle the error gracefully, producing a confusingERRORin the logs that was not actually an error.