} catch (final Exception e) {
LOG.warn("Exception caught while undoing dirty transactions. Remaining transactions " +
"to be undone: " + runningTxns.size() + ". Aborting recovery to avoid possible damage. " +
"Before starting again, make sure to run a check via the emergency export tool.", e);
if (next != null)
{LOG.warn("Log entry that caused the exception: " + next.dump());}
throw new LogException("Recovery aborted");
}
}
} finally {
broker.sync(Sync.MAJOR_SYNC);