Issue
When trying to perform Delete recovery from the "sys_delete_recovery" table and the recovery may fail. One of these errors below may be encountered
RollbackExecutor:Rollback is not in a 'recorded' state: actual state=[reverting]
RollbackExecutor: Another rollback is currently being reverted:c11c8....
Recovery execution may not have finished successfully, skipping finalization: 00fg66......
Sample Error message #1 (sys_rollback_run record)
Sample Error message #2
Sample Error message #3
Release
London and later.
Cause
A record was deleted either from a fix script/background script/delete UI Action. When trying to rollback the transaction by navigating to the sys_delete_recovery module, it fails. This is due to PRB1308489
Resolution
1. Go to "sys_delete_recovery" table and choose the record intended for recovery that is failing. Copy the value from the field "Rollback Context" (starts with BAK)
2. Go to the "sys_rollback_context" table and filter Number = <BAK# copied in previous step>. Backup the record as XML. Also, copy the sys_id of this record.
3. Go to the "sys_rollback_run" table and filter Number = <BAK# copied in previous step 1>. Find the record that still has the value State=Running. Backup the record as XML. Also, copy the sys_id of this record.
4. Execute the below script substituting the sys_ids copied from step #2 and step #3
var context_sysID = 'ENTER_SYS_ID_FROM_STEP_2';
var run_sysID = 'ENTER_SYS_ID_FROM_STEP_3';
// Nothing below this line needs to be modified
fixContextState(context_sysID);
function fixContextState(context) {
var gr1 = new GlideRecord('sys_rollback_context');
if (gr1.get(context)) {
gr1.state = 'recorded';
gr1.update();
}
}
fixRollbackState(run_sysID);
function fixRollbackState(run) {
var gr2 = new GlideRecord('sys_rollback_run');
if (gr2.get(run)) {
gr2.state = 'finished';
gr2.update();
}
}
5. After this step please go to the "sys_progress_worker" table and filter out State = Running for the corresponding rollback context. Set the state to "Cancelled'. A sample screenshot below:
Related Links
Sometimes the error messages that pop up in the UI are not helpful (ex:Sample Error message #3 screenshot). There is another Problem created to make the error messages more meaningful: PRB1328037 - "When an attempted rollback from "delete recovery" module fails it does not show a meaningful error message"