Stability — 3.5h soak

0.16.0-rc1 targeted fix-validation · flight 0.16.0-rc1@sha256:79c7907d (multi-arch INDEX, src f4f13a7cb) · connector 0.16.0-rc1 · Trino 481 · Cassandra 5.0.8 RF=3 · 3× i4i.xlarge · ~1.70M partitions/node, 2 SSTable gens · 2026-07-21

Flat lines are the story. Over 3.5h at 32 threads: RSS flat, fd bounded (max 48), threads bounded (max 29), egress depth ~0, admission well under the 64 limit, 0 OOMKills, 0 restarts on all 3 flight pods (4h45m uptime). 42 samples @ 5-min, host_name-labeled (the metrics fix held the entire soak).

Memory — no leak

Flight pod RSS — db0 ~1.1GB, db1 ~470MB, db2 ~210MB, dead flat across 3.5h (slight step-down at soak end). No growth.
Flight pod RSS — db0 ~1.1GB, db1 ~470MB, db2 ~210MB, dead flat across 3.5h (slight step-down at soak end). No growth.

File descriptors & threads — bounded

Open FDs per pod — bounded, flat (max 48 across the soak).
Open FDs per pod — bounded, flat (max 48 across the soak).
Threads per pod — bounded, flat (max 29).
Threads per pod — bounded, flat (max 29).

Backpressure & admission

Merge egress channel depth — ~0 throughout (no backpressure buildup under steady load).
Merge egress channel depth — ~0 throughout (no backpressure buildup under steady load).
Admission in-use per pod — well under the 64 limit during steady 32-thread load.
Admission in-use per pod — well under the 64 limit during steady 32-thread load.

New 0.16 gauges

cqlite.flight.warm_tables — rises on first serve, stable under load.
cqlite.flight.warm_tables — rises on first serve, stable under load.
cqlite.sstable.index_parses_total — flat on warm (no re-parse storm; the new tables_discovered gauge does not parse).
cqlite.sstable.index_parses_total — flat on warm (no re-parse storm; the new tables_discovered gauge does not parse).

Per-pod work distribution (fan-out skew — #2680, by design)

do_get req/s per pod — db0/db2 ~160/s, db1 ~95/s. Busy pods are FIXED (not rotating).
do_get req/s per pod — db0/db2 ~160/s, db1 ~95/s. Busy pods are FIXED (not rotating).
do_get bytes/s per pod — same shape. db0 4.34GB / db2 3.48GB / db1 3.06GB total.
do_get bytes/s per pod — same shape. db0 4.34GB / db2 3.48GB / db1 3.06GB total.

Totals over the soak: do_get db0=2,042,139 · db2=2,053,218 · db1=1,239,138. The 2–4× skew and the resulting ~39 qps ceiling are the known, reverted-#2680 behavior (fourth round) — reported on the goals ladder, not as a regression.