Skip to content

fix: preserve controller tags during fields-only KV writes - #18

Merged
rawsh merged 1 commit into
release/v0.1.10from
feature/kv-fields-only-tags
Oct 21, 2026
Merged

rawsh merged 1 commit into
release/v0.1.10from
feature/kv-fields-only-tags

Conversation

@rawsh

@rawsh rawsh commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

A fields-only KV write currently republishes the tags retrieved before its payload write. If another producer updates those tags while the storage write runs, that stale snapshot overwrites the newer controller state.

Use the same payload implementation without tag publication when a KV caller omits tag/tags. Explicit tags and tags-only calls still publish; public client put/async_put still publish supplied BatchMeta.custom_meta. Storage settlement, field readiness and returned metadata remain unchanged. Returned tags are a snapshot, with no new atomicity guarantee.

Validation: 38 owning cases passed (12 new sync/async single/batch interleaving and failure controls, 26 existing KV/client regressions), zero skips, against private local Ray/SimpleStorage under the existing runtime. Compileall, Ruff and format checks passed. Tests record actual controller SET counts and time. This does not establish a production throughput gain or qualify a runtime wheel.

AI assistance: implemented and reviewed with Codex.

Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
@rawsh
rawsh merged commit 622fddb into release/v0.1.10 Oct 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant