Skip to content

Enforce hot TCP authorization and bounded reader admission - #10

Merged
loverustfs merged 2 commits into
mainfrom
codex/hot-tcp-admission
Oct 21, 2026
Merged

loverustfs merged 2 commits into
mainfrom
codex/hot-tcp-admission

Conversation

@loverustfs

@loverustfs loverustfs commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Change

Every hot TCP operation passes server-owned ACL and bounded rate admission before FileStore. Read-only principals can release pins; mixed denied batches cannot mutate storage. Reader pins and aggregate payloads have ceilings, and shutdown joins socket workers.

Get replies now reserve exact GCKR/batch metadata and payload bytes within the server frame cap before allocating pins. Previously a valid batched Get could pin blocks and then fail encoding a reply that exceeded the TCP frame cap, leaving the client without release handles. Single-item and multi-item TCP regressions reproduce the old timeout and verify exact-boundary replies, no stranded pin credit and continued use of the same connection. The wire format is unchanged; see ADR 0010.

Validation

Run the retained CPU gate with a fresh evidence directory:

python3 scripts/ci/vm_regression.py --profile cpu --offline --output artifacts/merge-review-cpu

Fetch locked dependencies once before the offline run. The runner checks formatting, default/all-feature Clippy, workspace/doc tests, optional-feature refusal contracts and CPU demos; it writes results.json, environment.json, summary.md, JUnit and raw logs. GitHub CI runs Linux x86_64, native aarch64 and aarch64 qemu-user checks and uploads x86_64 regression evidence.

Local exact commit d3be83d: 236 workspace tests and 18/18 CPU gates PASS. Before/after regression logs and the clean-commit run are retained under artifacts/pr10-reply-budget/. The earlier seven transient Hello failures remain unexplained and their original transcript is retained; this separately reproduced Get failure is not claimed to explain them.

Boundaries

GCK1/GCKR and CacheIdentity remain unchanged. Missing, failed or unverified blocks require recomputation. No hot erasure coding, durability replicas, linked accelerator libraries or product performance samples are added. TCP remains a trusted-fabric plaintext transport; the bearer fingerprint does not provide mTLS.

Real RDMA/NIXL, GDS, BF3/DOCA/SPDK, vLLM export/import and live RustFS remain NOT_RUN_HARDWARE. GPU/model execution remains NOT_RUN_BUDGET; an approved model/license campaign remains NOT_RUN_LICENSE. TCO_UNKNOWN, go_gate=NOT_EVALUATED, Mooncake NOT_LINKED and NOT_A_PERFORMANCE_RESULT remain.

@loverustfs
loverustfs marked this pull request as ready for review October 21, 2026 00:49
@loverustfs
loverustfs merged commit 061f13e into main Oct 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant