-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Schema Management
-
Storage Engines - Foundations
-
219.454
-
None
-
None
Problem
The disagg hook enables the option:
debug_mode=(disagg_commit_ts_optional=true)
With this option and schema epochs enabled, dropping a layered table can return EBUSY but still discard the data.
Context
As part of WT-18031, the entire test suite was run with the schema epoch hook enabled. This specific ticket documents the failure in test_drop.py at the testcase "test_drop." A reproducer for this situation is:
def test_failed_drop_preserves_untimestamped_data(self): # Allow untimestamped writes as the disaggregated suite hook does. self.conn.reconfigure('debug_mode=(disagg_commit_ts_optional=true)') self.conn.set_timestamp('stable_disaggregated_schema_epoch=1') self.session.create(self.uri, 'key_format=i,value_format=S') self.session.publish(self.uri, 'disaggregated=(schema_epoch=2)') self.conn.set_timestamp('stable_disaggregated_schema_epoch=2') with wttest.open_cursor(self.session, self.uri) as cursor: cursor[1] = 'value' with wttest.open_cursor(self.session, self.uri): self.assertTrue(self.raisesBusy(lambda: self.session.drop(self.uri))) with wttest.open_cursor(self.session, self.uri) as cursor: self.assertEqual(dict(cursor), {1: 'value'})
AssertionError: {} != {1: 'value'}
Definition of Done
- Justify if it is sufficient to skip this test or
- Fix the behaviour and add a regression test
- is related to
-
WT-18031 Extend disagg Python hook to publish schema ops and advance schema epoch
-
- Closed
-