-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Reconciliation
-
Storage Engines - Transactions
-
432.591
-
SE Transactions - 2026-07-17
-
5
Context
This bug was discovered during testing on the dedicated elegant step-down feature branch https://github.com/wiredtiger/wiredtiger/compare/develop...wt-17785-enable-elegant-stepdown-mainine. Currently, step-down restarts for test/format. In this branch, we are replacing the restart with a synchronous, elegant step-down triggered via reconfigure(role=follower). This ticket captures one of the bugs as a result of elegant stepdown.
Evergreen Task / Link
https://spruce.mongodb.com/version/6a2a86c547495a0008de33fc/tasks and https://spruce.mongodb.com/version/6a2a873eeb4696000715ceed/tasks
Example stress task: Ubuntu 20.04 Stress Release / disagg-switch-1
Logs & Stack Trace
file:T00002.wt_stable, disagg-drain: [WT_VERB_DEFAULT][ERROR]: __layered_assert_stable_btree_state, 47: WiredTiger assertion failed: 'upd->prepare_state == (uint8_t)1'. During ingest drain, aborted updates on the stable btree must be rolled-back preserved prepared transactions
A second variant of the same stable-state validation also fires:
file:T00002.wt_stable, disagg-drain: [WT_VERB_DEFAULT][ERROR]: __layered_assert_stable_btree_state, 33: WiredTiger assertion failed: 'cbt->ins == ((void *)0)'. The stable btree should not contain inserts prior to draining
More frequent on the prepare-enabled patch (6a2a873e).