Repository navigation
Conversation
heranliu
requested review from
ShangmingCai,
stmatengss and
zxpdemonio
as code owners
October 12, 2026 13:14
8 of 32 tasks
Collaborator
|
Required: Please rebase this PR onto the current PR #3633 removed the legacy |
heranliu
force-pushed
the
fix/structured-msgpack-integer-keys
branch
from
October 19, 2026 08:30
948c137 to
4517982
Compare
Author
|
Thanks for the guidance! Updated in |
heranliu
force-pushed
the
fix/structured-msgpack-integer-keys
branch
from
October 20, 2026 05:54
4517982 to
b79c785
Compare
9 of 22 tasks
This branch has not been deployed
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
put_dataproto()accepts non-tensor object-array values containing dictionaries with integer keys and encodes them withmsgpack_ragged. Reading the same object fails withValueError: int is not allowed for map key when strict_map_key=True.Set
strict_map_key=Falsein both MessagePack decoding paths so reads accept the map keys already supported by the encoder. This preserves integer keys, including nested dictionaries and nullable rows, without changing the stored format or top-level field-name rules.Add six regression cases covering inferred and explicit schemas, nested integer keys, and rows with and without nulls.
Rebased onto
mainatac4d29bff2e8bb98c36799aaf19e6c73529f0088. The fix and tests now modify only the canonical paths requested in review:python/mooncake/structured_object_store.pypython/tests/store/test_structured_object_store.pyThe legacy copies removed by #3633 remain deleted. All three empty-row dtype regression tests merged in #4611 are preserved alongside this PR's six integer-key regression cases.
Suggested Merge Priority
Module
mooncake-wheel)Type of Change
How Has This Been Tested?
Source-level validation on macOS with Python 3.12.7:
python/tests/store/test_structured_object_store.py: 167 passed, 18 skipped.mainsource, the three [Wheel] Keep integer dtype for typed_ragged rows when a row is an empty list #4611 cases pass and all six integer-key cases fail with the expectedstrict_map_key=Trueerror; those six pass with this fix.mooncake._store, the external runner supplies only a minimal process-localReplicateConfigdata object (replica_num,group_ids, andsession_ids). It explicitly skips 15 tests requiring the native Store; one native tensor-serialization test and two fast-copy tests also skip. The runner is outside the PR, and does not replace encoding or decoding logic.All checks below pass on both changed files:
Ruff version:
0.6.9, matching CI. Pre-commit made no file changes.Checklist
./scripts/code_format.sh(not applicable: Python-only changes)AI Assistance Disclosure
Codex assisted with the fix, regression tests, rebase to the canonical Python paths, and source-level validation.