-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Issue Summary
In disaggregated storage, a commanded step-down with primary handoff waits until the handoff target has adopted the step-down checkpoint. It only needs to wait until the checkpoint has been delivered: the target force-adopts the newest delivered checkpoint when it steps up, so waiting for adoption gains nothing and can make the primary fassert.
Context
- [SERVER-136904]: a commanded step-down hit fassert 12399003 even though the target received the step-down checkpoint about 80 ms after the primary started waiting. WiredTiger on the target deferred adopting it for 10 seconds.
- The primary learns the target's checkpoint from its heartbeat, which reports the last checkpoint WiredTiger has adopted. Adoption can be legitimately deferred while older snapshots are open, so this value can lag the delivered checkpoint.
- On step-up, WiredTiger adopts the newest delivered checkpoint immediately, without deferring. Delivery is enough for the target to step up.