-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Reconciliation
-
Storage Engines - Foundations
-
414.079
-
SE Foundations - Q4+ Backlog
-
None
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/6a2fca40a887220007157e50/tasks
Example task (non-stress variants only): Ubuntu 20.04 ARM64 Non-standalone / data-validation-1
https://spruce.mongodb.com/task/wiredtiger_ubuntu2004_arm64_nonstandalone_format_stress_test_disagg_switch_data_validation_1_patch_9dd7114d26cbe9226ad97fb12c94a99ea1f8b52f_6a2fca40a887220007157e50_26_06_15_09_48_03
Logs & Stack Trace
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
file:T00002.wt_stable, disagg-drain: [WT_VERB_DEFAULT][ERROR]: __wt_abort, 29: aborting WiredTiger library
#3 __layered_assert_stable_btree_state () at src/conn/conn_layered_ingest.c:33
#4 __layered_move_updates () at src/conn/conn_layered_ingest.c:103
#5 __layered_copy_ingest_table () at src/conn/conn_layered_ingest.c
#6 __layered_drain_ingest_table_and_truncate_list ()
#7 __layered_drain_worker_run () (disaggregated ingest-drain worker, during step-up)
Notes
Same family as WT-17794 / WT-17817 / WT-17819 — the stable (.wt_stable) btree is left in a state the follower/drain paths do not expect across an elegant step-down. This is the third assertion in __layered_assert_stable_btree_state (conn_layered_ingest.c): WT-17817 covers the :47 aborted-prepared assert, WT-17819 the :76 no-value assert, and this one the :33 cbt->ins == NULL assert — the stable btree has a non-empty insert list during the ingest drain.
- related to
-
WT-17819 test/format (mode=switch) [Elegant stepdown bugs] No corresponding value exists on the stable table to delete
-
- Open
-
-
WT-17817 test/format (mode=switch) [Elegant stepdown bugs] Ingest drain finds stable btree in unexpected state (preserved prepared updates / inserts before drain)
-
- In Progress
-
-
WT-17794 test/format (mode=switch) [Elegant stepdown bugs] Attempting reconciliation on a read-only page
-
- Closed
-