fix: fence reconciliation admission race
This commit is contained in:
@@ -1751,6 +1751,12 @@ a lost final `EventAck` followed by server retention. Write this idempotent
|
||||
result before dispatch. A client with unresolved essential-store corruption
|
||||
cannot complete reconciliation or accept work.
|
||||
|
||||
Capture one server receipt-time cutoff immediately before registering the live
|
||||
session, and use that identical cutoff when building `ReconcileRequest` and
|
||||
applying its `ReconcileSnapshot`. A command admitted after that cutoff is new
|
||||
work: it must remain queued for post-reconciliation dispatch, never be treated
|
||||
as absent client evidence merely because its admission raced the handshake.
|
||||
|
||||
Implement reconciliation as this explicit matrix:
|
||||
|
||||
| Server state | Client evidence | Durable result |
|
||||
|
||||
Reference in New Issue
Block a user