Repository navigation
[Store][Bench] Support DFS replicas in store_kv_bench - #4465
Merged
Merged
Conversation
fcczzz
approved these changes
Oct 8, 2026
fcczzz
left a comment
Collaborator
There was a problem hiding this comment.
LGTM. One small documentation suggestion: please add the DFS setup prerequisites and a runnable example to store_kv_bench.md, including enabling DFS on the master, selecting distributed_storage_backend on the client, and configuring MOONCAKE_DFS_* as shown in the PR description.
16 of 20 tasks
ykwd
approved these changes
Oct 9, 2026
Collaborator
Add --dfs-replica-num to set ReplicateConfig.dfs_replica_num, and --enable-ssd-offload to pass enable_ssd_offload to setup(). The latter is required for any client that writes or reads DFS replicas; without it the client never attaches the DFS backend and puts fail with -1601.
2xdevv
force-pushed
the
bench/store-kv-bench-dfs
branch
from
October 10, 2026 04:20
0886846 to
d194ea0
Compare
Contributor
Author
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.
Description
store_kv_bench.pycan benchmark memory and NoF replicas but not DFS replicas. This PR adds two flags so it can write to the descriptor-based DFS backend:--dfs-replica-numsetsReplicateConfig.dfs_replica_num. Defaults to0.--enable-ssd-offloadpassesenable_ssd_offloadtosetup(). Off by default.The second flag is needed because the client attaches the DFS backend (
FileStorage) only whenenable_ssd_offloadis true. Without it, every DFS put fails with-1601(DFS_SERVICE_UNAVAILABLE). It is kept as a separate flag, not derived from--dfs-replica-num, so that a process which only reads DFS data can still enable it.Both flags default to off, so existing runs are unchanged.
store_kv_bench.mddocuments both under Key Rules.Related: #3251 also edits
store_kv_bench.py(NoF unaligned I/O). It is unrelated in purpose but touches nearby code (thesetup()call), so whichever lands second needs a small rebase.Module
mooncake-transfer-engine)mooncake-store)mooncake-conductor)mooncake-reshard)mooncake-ep)mooncake-pg)mooncake-integration)mooncake-p2p-store)mooncake-wheel)mooncake-common)mooncake-rl)Type of Change
How Has This Been Tested?
Test commands:
Test results:
Manual end-to-end runs (
verify_write, 64 × 64 KiB objects, write + verified read):plainzcopy-DUSE_3FS=ONFor each backend I also checked that the data really is on DFS:
--enable-ssd-offloadfails every put with-1601.Checklist
./scripts/code_format.sh(N/A: no C/C++ changes; Python formatted via pre-commitruff-format)AI Assistance Disclosure
Claude Code helped trace why DFS puts failed from the benchmark, draft the flag and doc changes, and run the end-to-end checks above. I reviewed every changed line and the test results.