@SuppressWarnings("unused") private TransactionId key(KahaTransactionInfo transactionInfo) { return TransactionIdConversion.convert(transactionInfo); }
LOG.debug("rolling back recovered indoubt local transaction " + tx); store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convertToLocal(tx)), false, null, null); break; case COMMIT: store(new KahaCommitCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Committing prepared XA TX: [{}]", txId); break; case ROLLBACK: store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Rolling Back prepared XA TX: [{}]", txId); break;
@SuppressWarnings("unused") private KahaTransactionInfo createLocalTransactionInfo(TransactionId tx) { return TransactionIdConversion.convertToLocal(tx); }
static KahaTransactionInfo convert(TransactionId txid) { if (txid == null) { return null; } KahaTransactionInfo rc; if (txid.isLocalTransaction()) { rc = convertToLocal(txid); } else { rc = new KahaTransactionInfo(); XATransactionId t = (XATransactionId) txid; KahaXATransactionId kahaTxId = new KahaXATransactionId(); kahaTxId.setBranchQualifier(new Buffer(t.getBranchQualifier())); kahaTxId.setGlobalTransactionId(new Buffer(t.getGlobalTransactionId())); kahaTxId.setFormatId(t.getFormatId()); rc.setXaTransactionId(kahaTxId); } return rc; }
@SuppressWarnings("rawtypes") private List<Operation> getInflightTx(KahaTransactionInfo info) { TransactionId key = TransactionIdConversion.convert(info); List<Operation> tx; synchronized (inflightTransactions) { tx = inflightTransactions.get(key); if (tx == null) { tx = Collections.synchronizedList(new ArrayList<Operation>()); inflightTransactions.put(key, tx); } } return tx; }
LOG.debug("rolling back recovered indoubt local transaction " + tx); store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convertToLocal(tx)), false, null, null); break; case COMMIT: store(new KahaCommitCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Committing prepared XA TX: [{}]", txId); break; case ROLLBACK: store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Rolling Back prepared XA TX: [{}]", txId); break;
@SuppressWarnings("unused") private KahaTransactionInfo createLocalTransactionInfo(TransactionId tx) { return TransactionIdConversion.convertToLocal(tx); }
private KahaTransactionInfo getTransactionInfo(TransactionId txid) { return TransactionIdConversion.convert(theStore.getTransactionIdTransformer().transform(txid)); } }
LOG.debug("rolling back recovered indoubt local transaction " + tx); store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convertToLocal(tx)), false, null, null); break; case COMMIT: store(new KahaCommitCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Committing prepared XA TX: [{}]", txId); break; case ROLLBACK: store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Rolling Back prepared XA TX: [{}]", txId); break;
@SuppressWarnings("unused") private KahaTransactionInfo createLocalTransactionInfo(TransactionId tx) { return TransactionIdConversion.convertToLocal(tx); }
@SuppressWarnings("rawtypes") protected void process(KahaPrepareCommand command, Location location) { TransactionId key = TransactionIdConversion.convert(command.getTransactionInfo()); List<Operation> tx = null; synchronized (inflightTransactions) { tx = inflightTransactions.remove(key); if (tx != null) { preparedTransactions.put(key, tx); } } if (tx != null && !tx.isEmpty()) { indexLock.writeLock().lock(); try { for (Operation op : tx) { recordAckMessageReferenceLocation(location, op.getLocation()); } } finally { indexLock.writeLock().unlock(); } } }
LOG.debug("rolling back recovered indoubt local transaction " + tx); store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convertToLocal(tx)), false, null, null); break; case COMMIT: store(new KahaCommitCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Committing prepared XA TX: [{}]", txId); break; case ROLLBACK: store(new KahaRollbackCommand().setTransactionInfo(TransactionIdConversion.convert(txId)), false, null, null); LOG.warn("Recovered and Rolling Back prepared XA TX: [{}]", txId); break;
@SuppressWarnings("unused") private KahaTransactionInfo createLocalTransactionInfo(TransactionId tx) { return TransactionIdConversion.convertToLocal(tx); }
@SuppressWarnings("rawtypes") protected void process(KahaRollbackCommand command, Location location) throws IOException { TransactionId key = TransactionIdConversion.convert(command.getTransactionInfo()); List<Operation> updates = null; synchronized (inflightTransactions) { updates = inflightTransactions.remove(key); if (updates == null) { updates = preparedTransactions.remove(key); } } if (key.isXATransaction() && updates != null && !updates.isEmpty()) { indexLock.writeLock().lock(); try { for (Operation op : updates) { recordAckMessageReferenceLocation(location, op.getLocation()); } } finally { indexLock.writeLock().unlock(); } } }
static KahaTransactionInfo convert(TransactionId txid) { if (txid == null) { return null; } KahaTransactionInfo rc; if (txid.isLocalTransaction()) { rc = convertToLocal(txid); } else { rc = new KahaTransactionInfo(); XATransactionId t = (XATransactionId) txid; KahaXATransactionId kahaTxId = new KahaXATransactionId(); kahaTxId.setBranchQualifier(new Buffer(t.getBranchQualifier())); kahaTxId.setGlobalTransactionId(new Buffer(t.getGlobalTransactionId())); kahaTxId.setFormatId(t.getFormatId()); rc.setXaTransactionId(kahaTxId); } return rc; }
public void process(JournalCommand<?> command) throws IOException { switch (command.type()) { case KAHA_PREPARE_COMMAND: KahaPrepareCommand prepareCommand = (KahaPrepareCommand) command; getTx(TransactionIdConversion.convert(prepareCommand.getTransactionInfo())); break; case KAHA_COMMIT_COMMAND: KahaCommitCommand commitCommand = (KahaCommitCommand) command; removeTx(TransactionIdConversion.convert(commitCommand.getTransactionInfo())); break; case KAHA_TRACE_COMMAND: break; default: throw new IOException("Unexpected command in transaction journal: " + command); } }
static KahaTransactionInfo convert(TransactionId txid) { if (txid == null) { return null; } KahaTransactionInfo rc; if (txid.isLocalTransaction()) { rc = convertToLocal(txid); } else { rc = new KahaTransactionInfo(); XATransactionId t = (XATransactionId) txid; KahaXATransactionId kahaTxId = new KahaXATransactionId(); kahaTxId.setBranchQualifier(new Buffer(t.getBranchQualifier())); kahaTxId.setGlobalTransactionId(new Buffer(t.getGlobalTransactionId())); kahaTxId.setFormatId(t.getFormatId()); rc.setXaTransactionId(kahaTxId); } return rc; }
@SuppressWarnings("rawtypes") protected void process(KahaCommitCommand command, final Location location, final IndexAware before) throws IOException { TransactionId key = TransactionIdConversion.convert(command.getTransactionInfo()); List<Operation> inflightTx; synchronized (inflightTransactions) {
static KahaTransactionInfo convert(TransactionId txid) { if (txid == null) { return null; } KahaTransactionInfo rc; if (txid.isLocalTransaction()) { rc = convertToLocal(txid); } else { rc = new KahaTransactionInfo(); XATransactionId t = (XATransactionId) txid; KahaXATransactionId kahaTxId = new KahaXATransactionId(); kahaTxId.setBranchQualifier(new Buffer(t.getBranchQualifier())); kahaTxId.setGlobalTransactionId(new Buffer(t.getGlobalTransactionId())); kahaTxId.setFormatId(t.getFormatId()); rc.setXaTransactionId(kahaTxId); } return rc; }
public void persistCompletion(TransactionId txid) throws IOException { store(new KahaCommitCommand().setTransactionInfo(TransactionIdConversion.convert(multiKahaDBPersistenceAdapter.transactionIdTransformer.transform(txid)))); }