mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #2011] [Bug]: SGLang HiCache + Mooncake SSD offload: no disk read-back after eviction, Expected DiskDescriptor during prefetch #557
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#557
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 @shengjia-al on GitHub (Apr 29, 2026).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/2011
Bug Report
Describe the bug
I am testing SGLang HiCache with Mooncake SSD/file offload. The write-through path works: Mooncake creates
.bucket/.metafiles andmaster_allocated_file_size_bytesgrows. However, after forcing Mooncake eviction, I cannot observe successful read-back from the offload file backend.All Mooncake client
batch_get_intologs still show:At the same time, SGLang prefetch reports:
This was reproduced with the SSD offload environment variables documented by Mooncake, including
MOONCAKE_OFFLOAD_USE_URING=1.Expected behavior: after memory entries are evicted and the data exists in the Mooncake file backend, SGLang HiCache prefetch should be able to read those entries back from SSD/file offload, or the required extra configuration should be documented.
Reproduction
Model:
Start Mooncake master:
Start Mooncake client:
Start SGLang:
Run workload:
Observed benchmark result:
Mooncake metrics after the run:
Filesystem evidence:
But no offload reads were observed:
Representative logs:
Error counters:
Control run: if I do not force eviction and only increase
--global_segment_sizeto avoid high-watermark pressure, the same SGLang + Mooncake write-through path is stable:This suggests the issue appears when entering the eviction / offload read-back path, not during basic Mooncake connection or write-through file creation.
Environment
Output of
python -m sglang.check_env:Additional environment:
GPU:
RDMA:
Disk:
Mooncake client startup confirms file backend and RDMA:
One startup warning:
Before submitting...
@LujhCoconut commented on GitHub (Apr 29, 2026):
This bug appears to be the same issue addressed in my PR, which provides a more detailed description in PR(#2004). I guess this will be fixed once this PR is merged.
@shengjia-al commented on GitHub (Apr 29, 2026):
Thanks for pointing this out!
I just read through your PR description. Although I'm not familiar with the underlying C++ implementation, the behavior you described matches my experience exactly. In my case with SGLang, once the memory is full and data is evicted to SSD, the system completely fails to read it back (showing offload key count: 0 and throwing Expected DiskDescriptor).
It seems like we hit the same SSD read-back roadblock, just from different serving frameworks.
Thank you for working on this fix! I will keep an eye on PR #2004 and look forward to testing it once it gets merged
@github-actions[bot] commented on GitHub (Jul 29, 2026):
This issue has had no activity for 90 days and will be closed in 7 days if there is no further activity. Please comment or react if it should stay open.
@github-actions[bot] commented on GitHub (Aug 6, 2026):
Closing due to 3 months of inactivity. If this is still relevant, please comment and we can reopen.