LuceneSearchEngine.verifyWithinTransaction() throws an exception with a generic message if the transaction is not in the STARTED state. This message covers two distinct cases - no tx started, or tx already completed. The message gives no clue as to which one it was.
Please improve the message to say which state the tx is in, if it is not in the expected state.