Skip to content

Client Reliability: Prevent Ignoring Server Errors, Duplicate Writes, and Dirty Connections #168

@JoshuaChi

Description

@JoshuaChi

Description:

The d-engine-client module must be improved to handle server errors safely and avoid unsafe behaviors such as:

  • Ignoring server errors
  • Retrying requests that could cause duplicate writes
  • Using stale or dirty connections

Acceptance Criteria:

  1. Server Error Handling
  • Client must detect server errors (unavailable, overloaded, or explicit error)
  • Client propagates the error back to the caller instead of ignoring it
  1. Idempotent / Duplicate-Safe Writes
  • Retry of mutable operations preserves at-most-once semantics
  • No duplicate writes occur during retries
  1. Failover Behavior
  • Client automatically fails over to healthy nodes if one becomes unavailable
  • Caller is clearly notified of failed nodes

Metadata

Metadata

Assignees

No one assigned

    Labels

    component:client-kvCore KV API — get, put, delete, batch write, scan, range queries.concern:reliabilityFault tolerance, correctness under failures, crash recovery, network partitions.type:docsDocumentation, guides, API references, examples.

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions