/** * prepare the underlying xtn designated by the rendered xid * * @return int */ public int prepare(Object xid) throws CannotCommitException, UnknownTransactionException, RemoteException { if (operationsLogger.isLoggable(Level.FINER)) { operationsLogger.entering( TxnManagerImpl.class.getName(), "prepare-xid", xid); } TxnManagerTransaction txntr = _txns.get(xid); if (txntr == null) throw new UnknownTransactionException("unknown transaction"); return txntr.prepare(Long.MAX_VALUE /*timeout*/); }
public void commit(Xid xid, boolean onePhase) throws XAException { if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "XAResourceImpl:commit(), the xid is:" + xid + ", the onePhase:" + onePhase + " rmid=" + _rmid + " thread=" + Thread.currentThread().getId()); } xid = createGSXid(xid); try { m_txnManger.commit(xid, COMMIT_ABORT_DEFAULT_TIMEOUT); } catch (UnknownTransactionException e) { _logger.log(Level.SEVERE, "XAResourceImpl:commit() , unknowntxnException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XAER_RMERR, e); } catch (CannotCommitException e) { _logger.log(Level.SEVERE, "XAResourceImpl:commit() , cannotcommitException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XAER_RMERR, e); } catch (RemoteException e) { _logger.log(Level.SEVERE, "XAResourceImpl:commit() , remoteException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XAER_RMFAIL, e); } catch (TimeoutExpiredException e) { _logger.log(Level.SEVERE, "XAResourceImpl:commit() , timeoutexpiredException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XAER_RMFAIL, e); } finally { _activeEmptyTransactions.remove(xid); _suspendedXtns.remove(xid); if (_resourcePerSingleTxn) _relevantTx = false; } }
@Override public boolean sameFailure(IDataConsumeResult otherResult) { if (!(otherResult instanceof UnknownTransactionConsumeResult)) return false; UnknownTransactionConsumeResult typedOtherResult = (UnknownTransactionConsumeResult) otherResult; return typedOtherResult._exception.toString().equals(_exception.toString()); }
private ServerTransaction serverTransaction(Transaction baseTr) throws UnknownTransactionException { if (operationsLogger.isLoggable(Level.FINER)) { operationsLogger.entering( TxnManagerImpl.class.getName(), "serverTransaction", baseTr); } try { if (operationsLogger.isLoggable(Level.FINER)) { operationsLogger.exiting(TxnManagerImpl.class.getName(), "serverTransaction", baseTr); } return (ServerTransaction) baseTr; } catch (ClassCastException e) { throw new UnknownTransactionException("unexpected transaction type"); } }
public int prepare(Xid xid) throws XAException { if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "XAResourceImpl:prepare(), the Xid is: " + xid + " rmid=" + _rmid + " thread=" + Thread.currentThread().getId()); } xid = createGSXid(xid); if (_activeEmptyTransactions.remove(xid) != null) { // if empty than read_only return XA_RDONLY; } try { int result = m_txnManger.prepare(xid); switch (result) { // Try to prepare case TransactionParticipant.PREPARED: return XA_OK; case TransactionParticipant.NOTCHANGED: return XA_RDONLY; default: // Abort throw new XAException(XAException.XA_RBROLLBACK); } } catch (UnknownTransactionException e) { _logger.log(Level.SEVERE, "XAResourceImpl:prepare() , UnknownTransactionException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XA_RBROLLBACK, e); } catch (CannotCommitException e) { _logger.log(Level.SEVERE, "XAResourceImpl:prepare() , CannotCommitException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XA_RBROLLBACK, e); } catch (RemoteException e) { _logger.log(Level.SEVERE, "XAResourceImpl:prepare() , remoteException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XA_RBCOMMFAIL, e); } }
throw new UnknownTransactionException("unknown transaction"); throw new UnknownTransactionException( "TxnManagerImpl: getTransaction: " + "unable to find transaction(" + throw new UnknownTransactionException("wrong manager (" + tr.mgr + " instead of " + this + ")");
public void rollback(Xid xid) throws XAException { if (_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "XAResourceImpl:rollback(), the Xid is:" + xid + " rmid=" + _rmid + " thread=" + Thread.currentThread().getId()); } xid = createGSXid(xid); try { m_txnManger.abort(xid, COMMIT_ABORT_DEFAULT_TIMEOUT); } catch (UnknownTransactionException e) { if (failOnInvalidRollback) _logger.log(Level.SEVERE, "XAResourceImpl:rollback() , unknownTxnException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XA_RBPROTO, e); } catch (CannotAbortException e) { _logger.log(Level.SEVERE, "XAResourceImpl:rollback() , CannotAbortException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XA_RBPROTO, e); } catch (RemoteException e) { _logger.log(Level.SEVERE, "XAResourceImpl:rollback() , remoteException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XA_RBCOMMFAIL, e); } catch (TimeoutExpiredException e) { _logger.log(Level.SEVERE, "XAResourceImpl:rollback() , timeoutException rmid=" + _rmid + " thread=" + Thread.currentThread().getId() + " exception:" + e + e.getStackTrace()); throw createsXAException(XAException.XAER_RMFAIL, e); } finally { _activeEmptyTransactions.remove(xid); _suspendedXtns.remove(xid); if (_resourcePerSingleTxn) _relevantTx = false; } }
private boolean disJoin_impl(Object id, TransactionParticipant part) throws UnknownTransactionException, RemoteException { if (operationsLogger.isLoggable(Level.FINER)) { operationsLogger.entering( TxnManagerImpl.class.getName(), "disJoin", new Object[]{id, part}); } TransactionParticipant preparedTarget = part; if (participantLogger.isLoggable(Level.FINEST)) { participantLogger.log(Level.FINEST, "prepared participant: {0}", preparedTarget); } TxnManagerTransaction txntr = _txns.get(id); if (txntr == null) throw new UnknownTransactionException("unknown transaction"); // txntr.join does expiration check boolean res = txntr.disJoin(preparedTarget); if (operationsLogger.isLoggable(Level.FINER)) { operationsLogger.exiting( TxnManagerImpl.class.getName(), "disJoin"); } return res; }
throw new UnknownTransactionException("unknown transaction"); throw new UnknownTransactionException("unknown transaction");
throw new UnknownTransactionException("Unknown transaction");
throw new UnknownTransactionException("unknown transaction");
if (mgr instanceof LocalTransactionManager) return TransactionConstants.COMMITTED; throw new UnknownTransactionException(); throw new UnknownTransactionException(); throw new UnknownTransactionException();
throw new UnknownTransactionException(); if (mgr instanceof LocalTransactionManager && !fromLeaseExpiration) return; throw new UnknownTransactionException();
if (mgr instanceof LocalTransactionManager) return; throw new UnknownTransactionException("Unknown Transaction [memberName=" + _spaceImpl.getServiceName() + "] transaction: " + st); if (mgr instanceof LocalTransactionManager) return; throw new UnknownTransactionException("Unknown Transaction " + st); throw new UnknownTransactionException("Commit failed, transaction : " + st + " already rolled.");
} else { context.setOperationAnswer(template, null, new UnknownTransactionException("Transaction was already committed/aborted.")); _cacheManager.removeTemplate(context, template, false /*fromReplication*/, true /*origin*/, false);