Skip to content

Writes retried on DEADLINE_EXCEEDED can double-apply #45

@zeevdr

Description

@zeevdr

Description

sdk/src/opendecree/client.py:259-304 runs set / set_many / set_null through with_retry. SetField is not idempotent server-side (audit log, version bump). A retry on DEADLINE_EXCEEDED can double-apply if the server processed the write before the timeout.

Acceptance criteria

  • Only retry reads (GetField, GetConfig, ListSchemas, ...) by default
  • Writes require an explicit idempotency key argument to opt into retry
  • Document retry semantics in API reference
  • Add tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority: P0Blocks alpha or releasesize: SQuick win — a few hours or less

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions