mirror of
https://github.com/XRPLF/rippled.git
synced 2026-09-27 15:28:03 +00:00
Review feedback, plus a sweep of the branch for the same defects elsewhere. Scope: the ledger.validate guard was a plain local, so it stayed alive until checkAccept returned and the flag-ledger upgrade check ran inside the measured span. That check reads every trusted validation of the parent, so one span in 256 became a duration outlier for work unrelated to promoting a ledger. The span is now scoped to the promotion. tryAdvance stays inside it because it only sets a flag and posts a job. Attributes: tx.apply now carries ledger_seq, which the runbook already documented. The parent ledger.build span has it, but a child cannot be selected by its parent's attributes, so the span could not be found by ledger. Guard names: each span guard is now named after the span it holds, so proposalReceiveSpan, validationReceiveSpan, storeSpan and validateSpan. The name "span" previously meant the trace root in one inbound-message handler and the job-queue handle in its sibling, which taught a reader the opposite of the truth in the next function. Comments: the StatsD gauge rationale now sits with the initialiser it explains rather than in the constructor. The peer span header described its trust flags as shared when they are in fact re-declared to match the consensus keys; the duplication is intentional and the wording was not. Docs: the ledger and peer span tables disagreed with the code, crediting ledger.build with attributes that are set on tx.apply and omitting several that it does set, and all five source-file line numbers in them were stale. The testing guide listed attribute keys that exist nowhere in the code, so its catalog now points at the runbook instead of keeping a second copy that drifts.