feat(docker): overlay mooncake structured object store module pending release#1784
Open
guapisolo wants to merge 3 commits into
Open
feat(docker): overlay mooncake structured object store module pending release#1784guapisolo wants to merge 3 commits into
guapisolo wants to merge 3 commits into
Conversation
miles' mooncake rollout-data object store backend needs the structured object store API (FieldSchema, export_ref/import_ref, unified put/get, release_result) that is merged upstream in kvcache-ai/Mooncake #2907, #3013 and #3023 but missing from every released wheel: the v0.3.12 release branch was cut before those merges landed. The API is a single pure-Python module compatible with the C++ core the sglang base image already ships, so fetch that module at a pinned master commit over the installed package instead of rebuilding mooncake from source. The layer import-checks every required symbol so an incomplete overlay fails the image build instead of surfacing at runtime. Verified against mooncake-transfer-engine-cuda13 0.3.11.post1 (the version the current image ships): with the overlaid module, the full put(field_schemas) -> export_ref/import_ref -> get -> release_result -> cleanup_dataproto round-trip passes over tcp against a local mooncake_master. Drop this layer once a mooncake release contains the API. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
…dule Supersedes the raw-file overlay: the pinned structured object store now ships as a real wheel built by the miles-wheels `mooncake` step (yueming-yuan/miles-wheels#8), and the wheels-release download already lands it in /tmp/wheels. Installing the whole wheel replaces the base image's identically named dist, so the C++ core, mooncake_master, and the Python API stay one pinned build instead of a hybrid of 0.3.11 binaries with a newer overlaid module. The layer requires the wheel on cu13/amd64 (the variant miles CI runs mooncake on) and fails the build when the release lacks it; other (cuda, arch) variants log and keep the base image's mooncake until their wheel is built. The import self-check stays as the fail-loud gate for an incomplete wheel. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The per-variant gating is readable from the shell branches; keep the comment to the why and the drop condition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
yueming-yuan
approved these changes
Jul 24, 2026
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
Ship the mooncake structured object store API in the CUDA image for the mooncake rollout backend.
Motivation
miles' mooncake rollout-data object store backend needs the structured
object store API (FieldSchema, export_ref/import_ref, unified put/get,
release_result) that is merged upstream in kvcache-ai/Mooncake #2907,
#3013 and #3023 but missing from every released wheel: the v0.3.12
release branch was cut before those merges landed.
Usage
This unblocks
--object-store-backend mooncake(PR #591) on images built from this Dockerfile.Design Notes
structured_object_store.pyat pinned upstream commit4dbe5a4cover the installed package.docker/Dockerfile.rocmis unchanged: whether its base image ships mooncake is unverified.Verification
mooncake-transfer-engine-cuda130.3.11.post1).release_result,cleanup_dataprotoover tcp against a localmooncake_master.Review Focus
MOONCAKE_SOS_COMMITpin: it must cover every symbolmiles/utils/object_store.pyimports when PR [feat]support rollout data transfer with mooncake #591 lands.