Fixes to service infrastructure. - #799
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Joined cancellation errors can cause genuine service failures to be discarded during shutdown.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Improves service scheduling, shutdown error handling, EVM-reader readiness, and advancer shutdown behavior.
Changes:
- Honors immediate rescheduling after partial progress.
- Aggregates supervisor and subservice failures.
- Separates application-local corruption from infrastructure failures and handles canceled persistence gracefully.
| File | Description |
|---|---|
pkg/service/tick.go |
Clarifies and honors rescheduling semantics. |
pkg/service/tick_test.go |
Tests rescheduling with partial failures. |
pkg/service/supervisor.go |
Aggregates fatal and service errors. |
pkg/service/supervisor_test.go |
Tests concurrent and shutdown error aggregation. |
internal/evmreader/readiness_test.go |
Tests readiness failure classification. |
internal/evmreader/input.go |
Treats persisted corruption as application-local. |
internal/evmreader/evmreader.go |
Documents scanner health semantics. |
internal/evmreader/error_paths_test.go |
Updates corruption-path expectations. |
internal/advancer/advancer.go |
Distinguishes shutdown cancellation from fatal persistence failures. |
internal/advancer/advancer_test.go |
Tests persistence and machine-close failure classification. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Known input corruption is excluded from readiness failures only after an integrity status is recorded. - RPC, database, and status-persistence failures still affect readiness. - Observation continues for terminal applications.
…turned Ticks now honor immediate rescheduling after partial progress even when an error occurs. Errors without progress still wait for the polling timer.
…shutdown Ignore only error trees whose leaves are all cancellation errors. Mixed joined errors retain all failures and their wrapping context.
renatomaia
force-pushed
the
fix/ServiceImprovements
branch
from
September 23, 2026 17:54
e7b4b70 to
057d3f1
Compare
renatomaia
marked this pull request as ready for review
September 23, 2026 17:55
vfusco
approved these changes
Sep 23, 2026
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.

This PR implements improvements as described here.
Commit relation to findings