com.sleepycat.je.log
Class SyncedLogManager

java.lang.Object
  extended by com.sleepycat.je.log.LogManager
      extended by com.sleepycat.je.log.SyncedLogManager

public class SyncedLogManager
extends LogManager

The SyncedLogManager uses the synchronized keyword to implement protected regions.


Field Summary
 
Fields inherited from class com.sleepycat.je.log.LogManager
envImpl, logBufferPool, logWriteLatch
 
Constructor Summary
SyncedLogManager(EnvironmentImpl envImpl, boolean readOnly)
          There is a single log manager per database environment.
 
Method Summary
 void countObsoleteDb(DatabaseImpl db)
           
 void countObsoleteINs(java.util.List<java.lang.Long> lsnList, DatabaseImpl nodeDb)
          Counts the given obsolete IN LSNs under the log write latch.
 void countObsoleteNode(long lsn, LogEntryType type, int size, DatabaseImpl nodeDb)
          Count node as obsolete under the log write latch.
protected  void flushInternal()
           
 TrackedFileSummary getUnflushableTrackedSummary(long file)
          Returns a tracked summary for the given file which will not be flushed.
 void loadEndOfLogStat(EnvironmentStats stats)
           
 boolean removeDbFileSummary(DatabaseImpl db, java.lang.Long fileNum)
           
 void removeTrackedFile(TrackedFileSummary tfs)
          Removes the tracked summary for the given file.
 void transferToUtilizationTracker(LocalUtilizationTracker localTracker)
           
 
Methods inherited from class com.sleepycat.je.log.LogManager
flush, flushNoSync, get, getByteBufferFromLog, getChecksumOnRead, getLastLsnAtRecovery, getLogEntry, getLogSource, loadStats, log, log, log, log, logForceFlip, logForceFlush, marshallIntoBuffer, multiLog, removeTrackedFileInternal, resetPool, setLastLsnAtRecovery, setReadHook
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SyncedLogManager

public SyncedLogManager(EnvironmentImpl envImpl,
                        boolean readOnly)
                 throws DatabaseException
There is a single log manager per database environment.

Throws:
DatabaseException
Method Detail

flushInternal

protected void flushInternal()
                      throws LogException,
                             DatabaseException
Throws:
LogException
DatabaseException

getUnflushableTrackedSummary

public TrackedFileSummary getUnflushableTrackedSummary(long file)
                                                throws DatabaseException
Description copied from class: LogManager
Returns a tracked summary for the given file which will not be flushed. Used for watching changes that occur while a file is being cleaned.

Specified by:
getUnflushableTrackedSummary in class LogManager
Throws:
DatabaseException
See Also:
LogManager.getUnflushableTrackedSummary(long)

removeTrackedFile

public void removeTrackedFile(TrackedFileSummary tfs)
                       throws DatabaseException
Description copied from class: LogManager
Removes the tracked summary for the given file.

Specified by:
removeTrackedFile in class LogManager
Throws:
DatabaseException
See Also:
LogManager.removeTrackedFile(com.sleepycat.je.cleaner.TrackedFileSummary)

countObsoleteNode

public void countObsoleteNode(long lsn,
                              LogEntryType type,
                              int size,
                              DatabaseImpl nodeDb)
                       throws DatabaseException
Description copied from class: LogManager
Count node as obsolete under the log write latch. This is done here because the log write latch is managed here, and all utilization counting must be performed under the log write latch.

Specified by:
countObsoleteNode in class LogManager
Throws:
DatabaseException
See Also:
LogManager#countObsoleteLNs

transferToUtilizationTracker

public void transferToUtilizationTracker(LocalUtilizationTracker localTracker)
                                  throws DatabaseException
Specified by:
transferToUtilizationTracker in class LogManager
Throws:
DatabaseException
See Also:
LogManager.transferToUtilizationTracker(com.sleepycat.je.cleaner.LocalUtilizationTracker)

countObsoleteINs

public void countObsoleteINs(java.util.List<java.lang.Long> lsnList,
                             DatabaseImpl nodeDb)
                      throws DatabaseException
Description copied from class: LogManager
Counts the given obsolete IN LSNs under the log write latch.

Specified by:
countObsoleteINs in class LogManager
Throws:
DatabaseException
See Also:
LogManager.countObsoleteINs(java.util.List, com.sleepycat.je.dbi.DatabaseImpl)

countObsoleteDb

public void countObsoleteDb(DatabaseImpl db)
                     throws DatabaseException
Specified by:
countObsoleteDb in class LogManager
Throws:
DatabaseException
See Also:
LogManager.countObsoleteDb(com.sleepycat.je.dbi.DatabaseImpl)

removeDbFileSummary

public boolean removeDbFileSummary(DatabaseImpl db,
                                   java.lang.Long fileNum)
                            throws DatabaseException
Specified by:
removeDbFileSummary in class LogManager
Throws:
DatabaseException
See Also:
LogManager.removeDbFileSummary(com.sleepycat.je.dbi.DatabaseImpl, java.lang.Long)

loadEndOfLogStat

public void loadEndOfLogStat(EnvironmentStats stats)
                      throws DatabaseException
Specified by:
loadEndOfLogStat in class LogManager
Throws:
DatabaseException
See Also:
LogManager.loadEndOfLogStat(com.sleepycat.je.EnvironmentStats)