Repository navigation
V1 B: localhost TCP service, file store, and optional RustFS cold contract - #3
Merged
Merged
Conversation
…tract Serve the V1 A batch API over a loopback TCP envelope with a bounded buffer pool, checksums, and tenant fingerprints. FileStore persists committed blocks under a caller-supplied directory and evicts oldest unpinned blocks for quotas. Prefix reuse returns the whole shorter block. Cold Put/Head/RangeGet/Delete stays off the hot path and is exercised with a mock when no RustFS endpoint is configured. Co-authored-by: RustFS <hello@rustfs.com>
loverustfs
marked this pull request as ready for review
October 15, 2026 05:41
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.
Summary
V1 B of the G3.5 shared KV tier. Hot misses still recompute. No erasure coding (ADR 0002). DPU and RDMA are not in this milestone. ADR 0001 stays Pending because there is still no GPU spike.
127.0.0.1; a non-loopback bind needs--allow-remote.FileStorepersists committed blocks as ordinary files under a caller-supplied directory. It does not format disks or open device nodes. Quotas evict the oldest unpinned committed block (LRU). Pins and quarantine are not evicted. Restart reloads committed files and bumps the epoch.share-demo: exact hit, miss, and whole-block prefix reuse. A longer hash chain can hit a shorter committed block (PrefixHit). The service does not slice inside a block (intra_block_slice=DEGRADED_MISS). Seedocs/adr/0003-partial-prefix.md.gpucache-coldis off the hot path. Put / Head / RangeGet / Delete plus object packing and a manifest run against an in-process mock. A live RustFS probe runs only whenGPUCACHE_RUSTFS_*is set. This environment has no authorized endpoint, so the live probe isNOT_RUN_HARDWARE.V1 C, V2, and V3 are not started. No website changes.
Test matrix
Full table:
docs/V1B_TEST_MATRIX.md.Repro
cargo test --workspace --all-targets cargo run -p gpucache-transport --bin share-demoA successful demo prints
status=REUSE_OKandpartial_prefix=WHOLE_BLOCK_PREFIX.