After milestone 2, the capability to set a sub-level error code and a message should be done. This ticket involves reproducing the rollback and compact 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 ROLLBACK or EINVAL has been returned from the session API call. Follow these scenarios:
- EINVAL, WT_COMPACTION_ALREADY_RUNNING, Cannot reconfigure background compaction while it's already running
- WT_ROLLBACK, WT_CACHE_OVERFLOW, transaction rolled back because of cache overflow
- WT_ROLLBACK, WT_WRITE_CONFLICT, conflict between concurrent operations
- WT_ROLLBACK, WT_OLDEST_FOR_EVICTION, oldest pinned transaction ID rolled back for eviction
The expectation is that in each of the scenarios a SUB-LEVEL error code and message should be set.
Definition of Done
Unit test 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-98979 Change test for WT_SESSION::compact to expect more granular error code
-
- Closed
-
- is related to
-
WT-13948 Deprecate rollback_reason API
-
- Open
-