com.sleepycat.je.txn
Class TxnManager

java.lang.Object
  extended by com.sleepycat.je.txn.TxnManager

public class TxnManager
extends Object

Class to manage transactions. Basically a Set of all transactions with add and remove methods and a latch around the set.


Field Summary
(package private) static long NULL_TXN_ID
           
 
Constructor Summary
TxnManager(EnvironmentImpl env)
           
 
Method Summary
 boolean areOtherSerializableTransactionsActive(Locker excludeLocker)
          Returns whether there are any active serializable transactions, excluding the transaction given (if non-null).
 long getFirstActiveLsn()
          Get the earliest LSN of all the active transactions, for checkpoint.
 long getLastTxnId()
          Get the last used id, for checkpoint info.
 LockManager getLockManager()
          Give transactions and environment access to lock manager.
 Transaction getTxnForThread()
          Retrieve a Txn object for this Thread.
 Txn getTxnFromXid(Xid xid)
          Retrieve a Txn object from an Xid.
(package private)  long incTxnId()
          Get the next transaction id to use.
 LockStats lockStat(StatsConfig config)
          Collect lock related stats.
(package private)  void registerTxn(Txn txn)
          Called when txn is created.
 void registerXATxn(Xid xid, Txn txn, boolean isPrepare)
          Called when txn is created.
 void setLastTxnId(long lastId)
          Set the txn id sequence.
 void setTxnForThread(Transaction txn)
          Called when txn is assoc'd with this thread.
 Txn txnBegin(Transaction parent, TransactionConfig txnConfig)
          Create a new transaction.
 TransactionStats txnStat(StatsConfig config)
          Collect transaction related stats.
(package private)  void unRegisterTxn(Txn txn, boolean isCommit)
          Called when txn ends.
(package private)  void unRegisterXATxn(Xid xid, boolean isCommit)
          Called when txn ends.
 Transaction unsetTxnForThread()
          Called when txn is assoc'd with this thread.
 Xid[] XARecover()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL_TXN_ID

static final long NULL_TXN_ID
See Also:
Constant Field Values
Constructor Detail

TxnManager

public TxnManager(EnvironmentImpl env)
           throws DatabaseException
Throws:
DatabaseException
Method Detail

setLastTxnId

public void setLastTxnId(long lastId)
Set the txn id sequence.


getLastTxnId

public long getLastTxnId()
Get the last used id, for checkpoint info.


incTxnId

long incTxnId()
Get the next transaction id to use.


txnBegin

public Txn txnBegin(Transaction parent,
                    TransactionConfig txnConfig)
             throws DatabaseException
Create a new transaction.

Parameters:
parent - for nested transactions, not yet supported
txnConfig - specifies txn attributes
Returns:
the new txn
Throws:
DatabaseException

getLockManager

public LockManager getLockManager()
Give transactions and environment access to lock manager.


registerTxn

void registerTxn(Txn txn)
           throws DatabaseException
Called when txn is created.

Throws:
DatabaseException

unRegisterTxn

void unRegisterTxn(Txn txn,
                   boolean isCommit)
             throws DatabaseException
Called when txn ends.

Throws:
DatabaseException

registerXATxn

public void registerXATxn(Xid xid,
                          Txn txn,
                          boolean isPrepare)
                   throws DatabaseException
Called when txn is created.

Throws:
DatabaseException

unRegisterXATxn

void unRegisterXATxn(Xid xid,
                     boolean isCommit)
               throws DatabaseException
Called when txn ends.

Throws:
DatabaseException

getTxnFromXid

public Txn getTxnFromXid(Xid xid)
                  throws DatabaseException
Retrieve a Txn object from an Xid.

Throws:
DatabaseException

setTxnForThread

public void setTxnForThread(Transaction txn)
Called when txn is assoc'd with this thread.


unsetTxnForThread

public Transaction unsetTxnForThread()
                              throws DatabaseException
Called when txn is assoc'd with this thread.

Throws:
DatabaseException

getTxnForThread

public Transaction getTxnForThread()
                            throws DatabaseException
Retrieve a Txn object for this Thread.

Throws:
DatabaseException

XARecover

public Xid[] XARecover()
                throws DatabaseException
Throws:
DatabaseException

areOtherSerializableTransactionsActive

public boolean areOtherSerializableTransactionsActive(Locker excludeLocker)
Returns whether there are any active serializable transactions, excluding the transaction given (if non-null). This is intentionally returned without latching, since latching would not make the act of reading an integer more atomic than it already is.


getFirstActiveLsn

public long getFirstActiveLsn()
                       throws DatabaseException
Get the earliest LSN of all the active transactions, for checkpoint.

Throws:
DatabaseException

txnStat

public TransactionStats txnStat(StatsConfig config)
                         throws DatabaseException
Collect transaction related stats.

Throws:
DatabaseException

lockStat

public LockStats lockStat(StatsConfig config)
                   throws DatabaseException
Collect lock related stats.

Throws:
DatabaseException


Copyright 2004-2005 Sleepycat, Inc. All Rights Reserved.