XDCR Custom Conflict Resolution Function Execution Timeout Configuration
0 reputation · 28 Aug 2023, 10:42 UTC
Goal: guarantee that a custom XDCR conflict resolution function finishes within a predictable deadline so that the replication pipeline does not stall and the system does not silently fall back to last‑write‑wins, which could cause undetected data divergence.
Constraint: the current XDCR implementation provides no configurable timeout or deadline for the function; the xdcr logger records invocations but not their execution duration, and a function that exceeds the internal processing window triggers an implicit LWW fallback without a warning, potentially blocking commit buffers and reducing throughput.
Questions: What maximum execution time should be enforced for a conflict resolution function before the system treats it as a failure? Can a configurable timeout be exposed through the REST API or admin console without requiring a cluster restart? How would the timeout be enforced while preserving the existing LWW fallback behavior for genuine conflicts?