throw new IllegalStateException("We're running in a local transaction, there MUST be one " +
"associated witht the local thread but none found! " + transaction);
}
transaction.setRollbackOnly();
txTable.removeLocalTransaction(transaction);
throw new DeadlockDetectedException("Deadlock request was detected for locally originated tx " + transaction +
"; it was marked for rollback");
} else {
DeadlockDetectingGlobalTransaction gtx = (DeadlockDetectingGlobalTransaction) ctx.getLockOwner();
gtx.setMarkedForRollback(true);
throw new DeadlockDetectedException("Deadlock request was detected for remotely originated tx " + gtx +
"; it was marked for rollback");
}
} else {
if (trace)
log.trace("Received an interrupt request, but we're not running within the scope of a transaction, so passing it up the stack", ie);