After milestone 2, the capability to set a sub-level error code and a message should be done. This ticket involves reproducing the remaining EBUSY drop workflows and making sure that the get_last_error API works as appropriate. The idea is that the API should be able to provide more information on why an EBUSY has been returned from the drop() call. Follow these scenarios:
- EBUSY, WT_CONFLICT_BACKUP, the table is currently performing backup
- EBUSY, WT_CONFLICT_DHANDLE, another thread is accessing the table
EBUSY, WT_CONFLICT_SCHEMA_LOCK, another thread is performing a schema operationMoved toWT-14026EBUSY, WT_UNCOMMITTED_DATA, the table has uncommitted data and can not be dropped yetDone inWT-13865, but still need catch2 unit testsEBUSY, WT_DIRTY_DATA, the table has dirty data and can not be dropped yetDone inWT-13865, but still need catch2 unit testsEBUSY, WT_CONFLICT_TABLE_LOCK, another thread is currently reading or writing on the tableMoved toWT-14026
The expectation is that in each of the scenarios a SUB-LEVEL error code and message should be set.
Definition of Done
Unit tests and python scenarios are created where they reproduced the problem, and made sure that they return the appropriate sub-level error code and message.
- is depended on by
-
SERVER-99261 Change tests for WT_SESSION::drop to expect more granular error code
-
- Closed
-
- is related to
-
WT-13865 Create new macro WT_RET_SUB and WT_ERR_SUB
-
- Closed
-
- related to
-
WT-14026 Set sub-level error code and message with python tests for drop EBUSY workflows (schema and table lock conflict)
-
- Closed
-