Experiment benchmarks coupled labs operations - kmosoti/FabricO11y GitHub Wiki
Historical repository record migrated on 2026-10-10. Original repository path:
docs/experiments/benchmarks/coupled-labs-operations.mdOriginal SHA-256:76702842f519029d226c1c098516a52650fb6761d2438e34da7f3430ad988b7aStated outcomes, measured revisions, failures and limits remain historical. Local raw evidence is private and is not uploaded. Relative links and the data-drive prefix were normalized.
Coupled labs: recovery and operations packet
Current disposition: see completion preparation and executed run. The preparation status below is historical.
Status: prepared; all experiments not run. Accountable: operations PI;
coordinator owns workload admission. Common plan applies.
Own this packet and future coupled-operations-* findings/fixtures; coordinate
shared source edits with root. No oracle or product-contract edits in preparation.
O6 — projection availability and answer envelopes
Question: what may remain known when a query projection is missing but raw custody/Manifest metadata remain? H1: an explicit source-availability model reconciles rows and metadata without hiding unavailable data. H0: proposed semantics remain inconsistent or alter an existing promise.
Start from integration findings,
completion_storage.rs (local checkout reference crates/fabric-server/tests/completion_storage.rs; not present at origin/main)
(missing_query_tables_are_incomplete_with_independently_declared_unavailability),
the query oracle,
product contract and
retained-history view.
Known result: zero expected/answered rows still disagree on retained window,
freshness and collection gaps. Do not redefine that as a performance failure.
Prepare a truth table for raw/Manifest/log/metric/span projection availability: all intact; one query table missing; optional filter absent/corrupt; raw absent; Manifest absent. Compare Scan/Walk and first/full pagination. State which facts have independent surviving evidence, which become unknown and which force incompleteness. Keep collection gaps distinct from storage availability.
Controls: falsely complete answer, erased retained metadata, invented freshness, dropped/duplicated row, expired continuation. Each expected rejection must derive from the accepted contract; disputed cells stay unresolved. Deliver a minimal counterexample and alternatives (implementation fix, fixture correction, model extension). Any specification/oracle change requires explicit scope and separate registration before implementation. Success is a supported decision, not a green test obtained by removing metadata assertions.
Existing reproduction command, only after admission, inside the common wrappers:
cargo test --offline --locked -p fabric-server --test completion_storage --all-features missing_query_tables_are_incomplete_with_independently_declared_unavailability -- --nocapture.
Full fast follows a scoped correction; historical failures remain.
O7 — logical exactness versus physical pruning equivalence
Joint reviewer: capacity PI. Start with C2 in
completion results and
completion_builder.rs (local checkout reference crates/fabric-server/examples/completion_builder.rs; not present at origin/main).
Byte-capped row groups read 9,156 versus 20,350 reference rows on the recorded
large-row window test. H1: changed physical grouping explains the mismatch while
logical answers remain exact; H0: missing coverage, invalid bounds or an ordering
defect explains it. This explanation is not permission to relax the existing gate.
Prepare row-to-group and window-to-visited-group ledgers for the minimized case, including equal timestamps, late rows and a large row spanning a cap decision. Check raw bytes, row order, complete answers and conservative bounds independently. Controls must detect an omitted matching group and a falsely narrowed bound; extra reads must be observable separately from wrong answers. Return whether physical identity is an intentional acceptance obligation or needs a separately scoped decision. Existing C2 and dependent qualification remain failed/blocked until that decision and fresh evidence exist.
O8 — one prepared Batch of collection overlap
Joint reviewer: query PI for visibility. Deferred behind resource admission,
O6/O7 decisions relevant to the service fixture and ownership design.
Source: runtime.rs, Spool and sender tests.
H1: preparing Batch N+1 during ACK wait for N lowers CPU-neutral cycle time or
raises accepted logical throughput. H0: contention/coordination cancels the gain.
Baseline serial path; candidate exactly one prepared, durably spooled next Batch
and one sent unacknowledged Batch per Strand. No widened delivery window.
Prepare an ownership/state-transition table for cursors, sequence allocation, Spool capacity, ACK loss/retry, collection errors, graceful stop and cancellation. No worker queues without byte limits. Propose dev 1-node 10/30 logs/s and small 20-node 1,000/3,000 aggregate logs/s from existing profiles, with quiet/normal/burst phases; freeze durations/mixed-signal cadence before registration. Separately measure offered-load latency and capacity: fixed offers cannot prove a throughput increase when both already accept all input. Preserve exact raw retries and order. No crash/fault injection beyond separately admitted scope. Primary capacity or latency metric must be selected before running; no choosing the winner afterward.