fabric.worker.transaction
Class Log

java.lang.Object
  extended by fabric.worker.transaction.Log

public final class Log
extends java.lang.Object

Stores per-transaction information. Records the objects that are created, read, and written during a single nested transaction.


Nested Class Summary
static class Log.CommitState
           
 
Field Summary
 Log.CommitState commitState
          Indicates the state of commit for the top-level transaction.
protected  java.util.List<Object._Impl> creates
          A collection of all objects created in this transaction or completed sub-transactions.
protected  WeakReferenceArrayList<Object._Impl> localStoreCreates
          Tracks objects created on local store.
protected  WeakReferenceArrayList<Object._Impl> localStoreWrites
          Tracks objects on local store that have been modified.
static Log NO_READER
           
protected  OidKeyHashMap<ReadMapEntry> reads
          Maps OIDs to readMap entries for objects read in this transaction or completed sub-transactions.
protected  java.util.List<ReadMapEntry> readsReadByParent
          Reads on objects that have been read by an ancestor transaction.
 AbstractSecurityCache securityCache
           
 java.util.List<RemoteWorker> workersCalled
          The set of workers called by this transaction and completed sub-transactions.
protected  java.util.List<Object._Impl> writes
          A collection of all objects modified in this transaction or completed sub-transactions.
 
Constructor Summary
Log(TransactionID tid)
          Creates a log with the given transaction ID.
 
Method Summary
 void flagRetry()
          Sets the retry flag on this and the logs of all sub-transactions.
 Log getChild()
           
 TransactionID getTid()
           
 void renumberObject(Store store, long onum, long newOnum)
          Deprecated.  
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_READER

public static final Log NO_READER

reads

protected final OidKeyHashMap<ReadMapEntry> reads
Maps OIDs to readMap entries for objects read in this transaction or completed sub-transactions. Reads from running or aborted sub-transactions don't count here.


readsReadByParent

protected final java.util.List<ReadMapEntry> readsReadByParent
Reads on objects that have been read by an ancestor transaction.


creates

protected final java.util.List<Object._Impl> creates
A collection of all objects created in this transaction or completed sub-transactions. Objects created in running or aborted sub-transactions don't count here. To keep them from being pinned, objects on local store are not tracked here.


localStoreCreates

protected final WeakReferenceArrayList<Object._Impl> localStoreCreates
Tracks objects created on local store. See creates.


writes

protected final java.util.List<Object._Impl> writes
A collection of all objects modified in this transaction or completed sub-transactions. Objects modified in running or aborted sub-transactions don't count here. To keep them from being pinned, objects on local store are not tracked here.


localStoreWrites

protected final WeakReferenceArrayList<Object._Impl> localStoreWrites
Tracks objects on local store that have been modified. See writes.


workersCalled

public final java.util.List<RemoteWorker> workersCalled
The set of workers called by this transaction and completed sub-transactions.


commitState

public final Log.CommitState commitState
Indicates the state of commit for the top-level transaction.


securityCache

public final AbstractSecurityCache securityCache
Constructor Detail

Log

public Log(TransactionID tid)
Creates a log with the given transaction ID.

Method Detail

flagRetry

public void flagRetry()
Sets the retry flag on this and the logs of all sub-transactions.


getTid

public TransactionID getTid()

getChild

public Log getChild()

renumberObject

public void renumberObject(Store store,
                           long onum,
                           long newOnum)
Deprecated. 

Goes through this transaction log and performs an onum renumbering. This is used by fabric.worker.TransactionRegistery.renumberObject. Do not call this unless if you really know what you are doing.