The code paths for abort at the HAJournal, Journal, AbstactJournal, BigdataSailConnection, AbstractTripleStore, AbstractTask, etc. all need to ensure that any side-effects are properly discarded if there is an interrupt during abort processing.
BLZG-1236, there is currently a possibility that the RWStore.reset() method would not properly redo the reset() if it were interrupted.
One possibility is to create an interface for a guarded section that (a) prevents writes unless it is successful; and (b) explicitly identifies methods for commit/abort such that a commit can not proceed unless any requested abort has been properly executed AND such that a redo of an abort is explicitly supported.
In particular, this means that we need to be careful with things such as removing items from collections before clearing their associated state, clearing collection references before clearing their contents, etc.
BLZG-1236 Recycler error in 1.5.1