Repository navigation
Project KV metadata before transport while preserving write receipts - #19
Merged
Merged
Conversation
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
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.
Selected KV GETs currently send all ready-field schemas and user tags before discarding most of them. Project requested metadata in the controller before transport, with compatibility for older controllers that ignore the projection options.
KV PUT still returns its cumulative field list and tag snapshot. Its internal lookup omits unused shapes and backend locators. Explicit tag publication, readiness, storage values and low-level defaults are preserved; the synchronous client forwards the same optional projection arguments.
Validation on product head af07e23 (product/dependency bytes unchanged by test-only successor 64a530a):
The four-row, 1,000-counter-tags-per-row fixture reduces reserialized controller metadata from 63,083 to 337 bytes. This is a metadata-size result, not wire throughput or an end-to-end production latency claim. No live source or runtime was changed.
Normal CI: the full suite passed. Mooncake passed 90 cases and rejected the two new zero-byte jagged fixtures before metadata projection (its buffer API rejects null pointers). The fixture now uses nonempty jagged extents only for Mooncake; SimpleStorage and Yuanrong retain the empty row. Normal CI is rerunning on that test-only correction; the first failed run is retained.