mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #4414] [Bug][TransferEngine] tebench labels consistency WRITE/READ metrics as READ-only #1111
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#1111
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Originally created by @feichai0017 on GitHub (Sep 30, 2026).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/4414
Bug report
At main
c3fa13ecaf1038df933dcb784ff8ffe026381100, tebench's per-target JSON records"op_type":"read"for--op_type=read --check_consistency=true, although consistency mode executes WRITE followed by READ and pools both operations' samples. The report can therefore be mistaken for READ-only latency/throughput.This is a benchmark labeling defect, not a transfer-engine data-integrity failure.
Environment and reproduction
Linux x86_64; unchanged upstream tebench,
USE_TENT=ON,USE_CUDA=OFF; two native processes, host DRAM, real loopback standard TCP. No OrbitKV wrapper participates.Build and create the explicit TCP configuration using the commands in #4413 (keep
max_concurrent_tasks=1on both sides). In the same Bash setup, start the bounded target on 19460, then run:Use a new output file for each case; JSONL appends. A READ-only control uses
--check_consistency=false.Observed with 4 KiB blocks, batch 1, one worker, one second measurement after warmup:
This is an excerpt of the unmodified result row. Both processes exited 0; binary/library/configuration SHA256 checks matched before and after. The runtime observation establishes the JSON label; the deterministic source branch below establishes the effective operation sequence. No packet-level opcode trace is claimed.
Cause and expected behavior
mixed_opcode=true.XferBenchConfig::op_type, which target_metrics serializes unchanged.Expected: report effective mode
mixwhen consistency forces the mixed path, and explain that behavior in the flag help/documentation. Preserve true READ-only and WRITE-only labels when consistency is off. No change to the consistency algorithm is needed.Operations count completed transfer batches. The mixed latency distribution is per WRITE or READ batch, not the combined WRITE+READ pair or a business request. No byte-count error is claimed.
Version comparison and duplicate search
v0.3.13.post1 (
719735896c86b56fabec6cf3e825fb2ea640597a) already forced mixed mode but did not contain the per-target JSON feature. #3779 introduced that reporting surface. Only TENT was exercised here; classic shares this code but was not runtime-tested.Searched issues and open/closed PRs for tebench/op_type/check_consistency/JSONL. #3931 improves HP TCP patterns; merged #4260 adds submit/wait logs; neither addresses the effective-mode label. No exact fix was found in that search.
AI assistance: OpenAI Codex assisted with source inspection and the isolated reproduction.
@github-actions[bot] commented on GitHub (Sep 30, 2026):
Thanks for opening this issue, @feichai0017!
132118805A maintainer will triage this when possible. To help us respond faster, please include:
Useful links: Documentation · Contributing guide