fix: improve leader failover reconnection and error mapping#480
Conversation
Review Summary by QodoImprove error mapping for leader failover reconnection
WalkthroughsDescription• Map gRPC INTERNAL and DATA_LOSS status codes to UnavailableError for transient failover failures • Enhance bridge error conversion with UnavailableError, DeadlineExceededError, UnknownError handling • Replace dynamic error name references with string literals for reliability • Default unrecognized bridge errors to UnknownError instead of passthrough • Upgrade @kurrent/bridge dependency from 0.1.3 to 0.1.5 Diagramflowchart LR
A["gRPC Status Codes"] -->|"INTERNAL, DATA_LOSS"| B["UnavailableError"]
C["Bridge Errors"] -->|"String literal matching"| D["Error Conversion"]
D -->|"UnavailableError, DeadlineExceededError"| E["Proper Error Types"]
D -->|"Unrecognized errors"| F["UnknownError"]
G["@kurrent/bridge"] -->|"0.1.3 → 0.1.5"| H["Enhanced Error Support"]
File Changes1. packages/db-client/src/utils/CommandError.ts
|
Code Review by Qodo
|
11479da to
6520276
Compare
66e6f70 to
bd01e2a
Compare
Summary
INTERNALandDATA_LOSSstatus codes toUnavailableErrorso the client retries on these transient failures during leader failoverUnavailableError,DeadlineExceededError, andUnknownError, use string literals for error name matching, and default unrecognized errors toUnknownError@kurrent/bridgefrom 0.1.3 to 0.1.5