Repository navigation
Enforce hot TCP authorization and bounded reader admission - #10
Merged
Merged
Conversation
This was referenced Oct 20, 2026
loverustfs
marked this pull request as ready for review
October 21, 2026 00:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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 underartifacts/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 remainsNOT_RUN_BUDGET; an approved model/license campaign remainsNOT_RUN_LICENSE.TCO_UNKNOWN,go_gate=NOT_EVALUATED, MooncakeNOT_LINKEDandNOT_A_PERFORMANCE_RESULTremain.