-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Layered Tables, Schema Management
-
Storage Engines - Foundations
-
42.384
-
SE Foundations - 2026-08-18
-
3
A drop of a layered table whose stable constituent holds drained-but-not-yet-checkpointed rows succeeds and silently discards those rows. The two-phase drop contract requires an unpublished drop to leave the data readable until the drop is published.
The step-up ingest drain fills the awaiting-publication (in-memory-semantics) stable constituent via bare __wt_row_modify (__layered_move_updates), bypassing the transaction-commit path that maintains btree->min_unpublished_durable_ts (sole caller: txn.c). The WT-18217 guard in __drop_issue_trim therefore sees WT_TS_NONE and lets the drop proceed; closing the stays-in-memory btree discards its content without writing (conn_dhandle.c).
Suggested fix: have the drain maintain the guard — call __wt_btree_update_unpublished_min with each drained update's durable timestamp — so the drop is refused until a checkpoint publishes and covers the table, matching the commit-path behavior.