slice-5: scalability seams — addressing, admission, drain, events (review B1/M1-M7) #14
Reference in New Issue
Block a user
Delete Branch "slice-5/scalability-seams"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What lands
f47d63b9) in-commit, loop_driver.rs frozen.With no env vars set, single-node dev behavior is unchanged except the plan-mandated 64-session default admission cap (unreachable in the dev loop). New knobs: RUTSTER_HTTP_BIND, RUTSTER_MEDIA_BIND_IP / _ADVERTISED_IP / _PORT_RANGE, RUTSTER_MAX_SESSIONS, RUTSTER_DRAIN_DEADLINE_SECS.
Merge instructions
cargo deny checkfails on deny.toml deserialization with cargo-deny 0.18.3 on main too (pre-existing tool-version mismatch, no dep changes in this PR) — CI's pinned action is the arbiter.Reviews
🤖 Generated with Claude Code
https://claude.ai/code/session_012QndwfhjyTiZcUYp87dwW8
Register now sheds the marginal call ("node full") once sessions.len() >= max_sessions instead of degrading every in-flight call's 20ms budget. The fixed sleep(META_TICK) tail is replaced by a compensated sleep that tracks tick_overruns/last_tick_micros — the ADR-0010 benchmark's primary readout and the autoscaling signal. MediaCmd::Stats exposes {sessions, max_sessions, draining, tick_overruns, last_tick_micros} for the future /readyz handler. routes.rs maps "node full" and "draining" to 503 so an LB retries elsewhere. RUTSTER_MAX_SESSIONS (default 64) wires the cap from env. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012QndwfhjyTiZcUYp87dwW8 Signed-off-by: Aaron D. Lee <himself@adlee.work>