try {
synchronized (jobLock) {
if (remainder<= 0 || !job.isCompleted(remainder)) {
settler.noteUnsettledTxn(str.id);
throw new TimeoutExpiredException(
"timeout expired",false);
} else {
result = (Integer) job.computeResult();
aborted = true;
}
}
} catch (ResultNotReadyException rnre) {
//should not happen, so flag as error
} catch (JobNotStartedException jnse) {
//error
} catch (JobException je) {
settler.noteUnsettledTxn(str.id);
throw new TimeoutExpiredException("timeout expired", false);
}
if (!aborted)
throw new InternalManagerException("TxnManagerTransaction: " +