com.sleepycat.je.log
Class LogContext

java.lang.Object
  extended by com.sleepycat.je.log.LogContext
Direct Known Subclasses:
INLogContext

public class LogContext
extends Object

Context parameters that apply to all logged items when multiple items are logged in one log operation. Passed to LogManager log methods and to beforeLog and afterLog methods.


Field Summary
 boolean backgroundIO
          Whether the write should be counted as background IO when throttling of background IO is configured.
 boolean flushRequired
          Whether the log buffer(s) must be written to the file system.
 boolean forceNewLogFile
          Whether a new log file must be created for containing the logged item(s).
 boolean fsyncRequired
          Whether an fsync must be performed after writing the item(s) to the log.
 DatabaseImpl nodeDb
          Database of the node(s), or null if entry is not a node.
 boolean obsoleteDupsAllowed
          Whether it is possible that the previous version of this log entry is already marked obsolete.
 Collection<WriteLockInfo> obsoleteWriteLockInfo
          Set of obsolete LSNs which are counted when logging a commit entry.
 PackedObsoleteInfo packedObsoleteInfo
          Sequence of packed obsolete info which is counted when logging a non-provisional IN.
(package private)  int totalNewSize
           
(package private)  boolean wakeupCleaner
           
 
Constructor Summary
LogContext()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodeDb

public DatabaseImpl nodeDb
Database of the node(s), or null if entry is not a node. Used for per- database utilization tracking. Set by caller or beforeLog method.


flushRequired

public boolean flushRequired
Whether the log buffer(s) must be written to the file system. Set by caller or beforeLog method.


forceNewLogFile

public boolean forceNewLogFile
Whether a new log file must be created for containing the logged item(s). Set by caller or beforeLog method.


fsyncRequired

public boolean fsyncRequired
Whether an fsync must be performed after writing the item(s) to the log. Set by caller or beforeLog method.


backgroundIO

public boolean backgroundIO
Whether the write should be counted as background IO when throttling of background IO is configured. Set by caller or beforeLog method.


obsoleteWriteLockInfo

public Collection<WriteLockInfo> obsoleteWriteLockInfo
Set of obsolete LSNs which are counted when logging a commit entry. This information includes the DatabaseImpl for each LSN, and the nodeDb field does not apply. Set by caller or beforeLog method.


packedObsoleteInfo

public PackedObsoleteInfo packedObsoleteInfo
Sequence of packed obsolete info which is counted when logging a non-provisional IN. This information is for a single database, the nodeDb. The nodeDb is passed as a parameter to countObosoleteNode when adding this information to the global tracker. Set by caller or beforeLog method.


obsoleteDupsAllowed

public boolean obsoleteDupsAllowed
Whether it is possible that the previous version of this log entry is already marked obsolete. In general, the latest version of any IN or LN is alive, so that logging a new version requires making the last version obsolete. Utilization tracking generally asserts that this last version is not already obsolete. When partial rollbacks are used, some of the original intermediate versions may have been pruned away, leaving a current previous that was already marked obsolete. For example, a transaction might have done: LNA (version 1) LNA (version 2) -- now version 1 is obsolete -- if we do a partial rollback to version1, verison 2 is removed -- we start retransmitting LNA (version 2) When we log this LNA/version2, this previous LNA (version1) is already obsolete. obsoleteDupsAllowed supports this case. Set by caller or beforeLog method.


wakeupCleaner

boolean wakeupCleaner

totalNewSize

int totalNewSize
Constructor Detail

LogContext

public LogContext()


Copyright (c) 2004-2012 Oracle. All rights reserved.