Streaming daemon: Slice 1 — Layer 4 (daemon + ops + validation)#802
Streaming daemon: Slice 1 — Layer 4 (daemon + ops + validation)#802chowbao wants to merge 4 commits into
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
c031951 to
62d69a7
Compare
62d69a7 to
f4ca90f
Compare
doc.go: add the Daemon (startup/daemon/config_validate) and Operability (recovery/audit/audit_invariants) groups; this completes Slice 1, so the note now points only at Slices 2 & 3 (events, tx-hash). golangci-lint (this layer's own new findings) — auto-fixable ones via golangci-lint --fix (protogetter, intrange, modernize, gofumpt, misspell, perfsprint, some testifylint) plus: - exhaustive: handle StateFrozen in the INV-2 switch (the quiescent state) - testifylint: assert.Equal(float64,...) -> assert.InDelta(...,0) (14) - revive: rename unused params (buildProductionBoundaries ctx, newCaptiveCoreOpener logger) to _ - unconvert: drop redundant uint32(c0First) - lll: move long t.Parallel() trailing comments above the call; wrap a ProcessConfig literal - nonamedreturns: drop names on snapshotLag; //nolint on the test helpers whose named outputs document the returned pair/handles - //nolint for intentional/forward/complex spots: nilerr (ctx-canceled is a clean shutdown), nestif x2, contextcheck (test), unparam (newCaptiveCoreOpener stub until #772; test-helper params that vary in later slices), gocognit/cyclop (auditDiskMatchesMeta)
TestRunDaemon_StoragePathOverridesHonored now sets one [immutable_storage]
cold override and asserts ledgers resolve under {cold}/ledgers (the cold
tier's fixed subdir). Daemon code is unchanged — ResolvePaths/LockRoots/
NewLayoutFromPaths keep the same API.
f4ca90f to
cb57955
Compare
The full-history-streaming wiring imports the streaming daemon, which is Unix-only (flock via x/sys/unix; cgo RocksDB), so the windows-latest build fails once it is wired in. Document the limitation and the fix direction (build-constrain the daemon path off Windows) at the wiring point; the fix itself is a follow-up.
|
Superseded by a new 2-phase stacked series that re-slices this work by phase (backfill → live ingestion + lifecycle), with the MVP scope cuts (recovery / audit / convergence / retention-reconfiguration dropped) and the folded-in fixes (cold+hot ingest service +
Each layer builds + |
Slice 1, Layer 4 of 4 — Daemon assembly, operability & validation. Stacked on Layer 3 (orchestration). This completes the ledgers skeleton — with Layers 1–4 applied, the daemon is whole.
startStreaming: catalog → validate → catch-up → serve+ingest handoff) andvalidateConfig(the network-dependent earliest-ledger resolution — it lives here, not in foundations, because it callsnetworkTip);main.gowiring);auditcommand (INV-2/3/4 for ledgers), retention ops;Compiles + full
-short/E2E green. (This PR was previously the single "Slice 1 (ledgers skeleton)" PR #802 — now retargeted to sit atop Layers 1–3, so its diff is just the daemon-assembly layer.)