-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: RTS
-
Storage Engines
-
StorEng - Defined Pipeline
In the codebase, we currently have checks we must do before we are able to proceed with rollback to stable. If the requirements are not met, we return back with EBUSY see here:
/* * A new cursor may be positioned or a transaction may start after we return from this call and * callers should be aware of this limitation. */ if (cookie.ret_cursor_active) WT_RET_MSG(session, EBUSY, "rollback_to_stable illegal with active file cursors"); if (cookie.ret_txn_active) { ret = EBUSY; WT_TRET(__wt_verbose_dump_txn(session)); WT_RET_MSG(session, ret, "rollback_to_stable illegal with active transactions"); }
The idea is to provide more context on why RTS returned back EBUSY and therefore sub-level error code would be a great candidate to do this. The ticket will involve creating two new sub-level error codes that will help facilitate this.