Repository navigation
Conversation
…failures - sourcereader.Service.Start no longer reads the DB/chain inline; init retries in the background and Ready() reports until it succeeds. - Coordinator.Start skips a chain whose source reader fails to start, keeps the failure visible in HealthReport, and only fails when no chain started at all. - cursechecker.PollerService runs its initial RMN poll in the background goroutine instead of blocking Start.
…alyzer Remaining eager-I/O-at-startup fixes beyond the verifier: - coordinator filterConfiguredSourceReaders degrades to unknown statuses instead of failing startup on a transient DB error. - cursechecker runs its initial RMN poll in the background. - token verifier factory skips a failing verifier (fails only if none start); unknown verifier type is a returned config error, not Fatalw. - indexer main skips a failing verifier reader or discovery source (fails only if none start). - pricer skips a chain that fails to start and surfaces it via the new HealthReport; fails only if no chain starts. - aggregator NewServer returns errors instead of Fatalf (signature change: (*Server, error)); main owns the fail-fast decision. Regression prevention: - tools/noeagerio: go/analysis linter flagging I/O (RPC/DB/HTTP/keystore) in New* constructors and Start methods, with intra-package taint propagation and //nolint:noeagerio as the documented escape hatch. Deliberate fail-fast sites (bootstrap DB/keystore, JD job load, signer key load, aggregator storage, replay tool) are annotated. - Wired into just lint-noeagerio and the golangci-lint CI workflow. - Policy recorded in AGENTS.md.
…rently Audit follow-ups: - EnsureDBConnectionContext / RunPostgresMigrationsContext / RunMigrationsContext: ping retries and goose migrations now honor the caller's context (previously ~40s of unbounded retry, and migrations with no ctx at all). Old signatures kept as deprecated wrappers. - ConnectToPostgresDB takes a ctx so a degraded Postgres cannot blow the verifier startup budget. - Verifier (committee + token) and executor factories build chain accessors concurrently with a 30s per-chain timeout: a slow RPC pool no longer serializes away the shared startup budget. - messagerules initial poll uses the service-lifetime ctx instead of the startup ctx bootstrap cancels on return. - Coordinator startup chain-status read is bounded (5s) and non-fatal. - noeagerio denylist gains GetAccessor (accessor construction dials).
|
|
||
| server, err := aggregator.NewServer(ctx, sugaredLggr, config, aggMonitoring) | ||
| if err != nil { | ||
| sugaredLggr.Fatalw("failed to create CCV data service", "error", err) |
|
Code coverage report:
Files added (in
|
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.
Description
Testing
Checklist
changelogdirectory)