Example #1
0
 @Override
 public void rollback(Savepoint savepoint) throws SQLException {
   FilterChainImpl chain = createChain();
   chain.connection_rollback(this, savepoint);
   recycleFilterChain(chain);
   if (transcationInfo != null) {
     transcationInfo.setEndTimeMillis();
   }
 }
Example #2
0
  @Override
  public void commit() throws SQLException {
    FilterChainImpl chain = createChain();
    chain.connection_commit(this);

    if (transcationInfo != null) {
      transcationInfo.setEndTimeMillis();
    }
    recycleFilterChain(chain);
  }
Example #3
0
 @Override
 public TransactionInfo getTransactionInfo() {
   final TransactionInfo info = _transactionInfoCache;
   if (System.currentTimeMillis() - info.getAcquisitionTime() > MAX_STALE) {
     final List<Transaction> transactions = new ArrayList<Transaction>();
     synchronized (info) {
       info.commitCount = 0;
       info.rollbackCount = 0;
       info.rollbackSinceCommitCount = 0;
       _persistit.populateTransactionList(transactions);
       for (final Transaction txn : transactions) {
         info.commitCount += txn.getCommittedTransactionCount();
         info.rollbackCount += txn.getRolledBackTransactionCount();
         info.rollbackSinceCommitCount += txn.getRolledBackSinceLastCommitCount();
       }
       info.updateAcquisitonTime();
     }
   }
   return info;
 }
Example #4
0
 private void applyTransactions(Address sender, Collection<TransactionInfo> transactions) {
   log.debugf(
       "Applying %d transactions for cache %s transferred from node %s",
       transactions.size(), cacheName, sender);
   if (isTransactional) {
     for (TransactionInfo transactionInfo : transactions) {
       CacheTransaction tx =
           transactionTable.getLocalTransaction(transactionInfo.getGlobalTransaction());
       if (tx == null) {
         tx = transactionTable.getRemoteTransaction(transactionInfo.getGlobalTransaction());
         if (tx == null) {
           tx =
               transactionTable.getOrCreateRemoteTransaction(
                   transactionInfo.getGlobalTransaction(), transactionInfo.getModifications());
           ((RemoteTransaction) tx).setMissingLookedUpEntries(true);
         }
       }
       for (Object key : transactionInfo.getLockedKeys()) {
         tx.addBackupLockForKey(key);
       }
     }
   }
 }