|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.je.cleaner.BaseUtilizationTracker
public abstract class BaseUtilizationTracker
Shared implementation for all utilization trackers. The base implementation keeps track of per-file utilization info only. Subclasses keep track of per-database info.
Field Summary | |
---|---|
(package private) long |
bytesSinceActivate
|
(package private) Cleaner |
cleaner
|
(package private) EnvironmentImpl |
env
|
Constructor Summary | |
---|---|
BaseUtilizationTracker(EnvironmentImpl env,
Cleaner cleaner)
|
Method Summary | |
---|---|
(package private) void |
close()
Update memory budgets when this tracker is closed and will never be accessed again. |
(package private) boolean |
countNew(long lsn,
Object databaseKey,
LogEntryType type,
int size)
Counts the addition of all new log entries including LNs, and returns whether the cleaner should be woken. |
(package private) void |
countObsolete(long lsn,
Object databaseKey,
LogEntryType type,
int size,
boolean countPerFile,
boolean countPerDb,
boolean trackOffset,
boolean checkDupOffsets)
Counts an obsolete node by incrementing the obsolete count and size. |
void |
countObsoleteDb(DbFileSummaryMap dbFileSummaries,
long mapLnLsn)
Counts all active LSNs in a database as obsolete in the per-file utilization summaries. |
(package private) abstract DbFileSummary |
getDbFileSummary(Object databaseKey,
long fileNum)
Returns a DbFileSummary for the given database key and file number, adding an empty one if the file is not already being tracked. |
EnvironmentImpl |
getEnvironment()
|
(package private) TrackedFileSummary |
getFileSummary(long fileNum)
Returns a tracked file for the given file number, adding an empty one if the file is not already being tracked. |
TrackedFileSummary |
getTrackedFile(long fileNum)
Returns one file from the snapshot of tracked files, or null if the given file number is not in the snapshot array. |
Collection<TrackedFileSummary> |
getTrackedFiles()
Returns a snapshot of the files being tracked as of the last time a log entry was added. |
(package private) boolean |
isFileUncounted(Long fileNum,
long lsn)
Returns whether file summary information for the given LSN is not already counted. |
(package private) boolean |
isLNType(LogEntryType type)
Returns whether the given type is an LN; a null type is assumed to be an LN. |
(package private) boolean |
isNodeType(LogEntryType type)
Returns whether the given type is a node; a null type is assumed to be an LN. |
(package private) void |
resetFile(TrackedFileSummary fileSummary)
Called after the FileSummaryLN is written to the log during checkpoint. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
EnvironmentImpl env
Cleaner cleaner
long bytesSinceActivate
Constructor Detail |
---|
BaseUtilizationTracker(EnvironmentImpl env, Cleaner cleaner)
Method Detail |
---|
public EnvironmentImpl getEnvironment()
public Collection<TrackedFileSummary> getTrackedFiles()
If files are added or removed from the collection of tracked files in real time, the returned collection will not be changed since it is a snapshot. But the objects contained in the collection are live and will be updated in real time under the log write latch. The collection and the objects in the collection should not be modified by the caller.
public TrackedFileSummary getTrackedFile(long fileNum)
getTrackedFiles()
final boolean countNew(long lsn, Object databaseKey, LogEntryType type, int size)
For the global tracker, must be called under the log write latch.
final void countObsolete(long lsn, Object databaseKey, LogEntryType type, int size, boolean countPerFile, boolean countPerDb, boolean trackOffset, boolean checkDupOffsets)
For the global tracker, must be called under the log write latch.
public void countObsoleteDb(DbFileSummaryMap dbFileSummaries, long mapLnLsn)
For the global tracker, must be called under the log write latch.
dbFileSummaries
- the map of Long file number to DbFileSummary for
a database that is being deleted.mapLnLsn
- is the LSN of the MapLN when recovery is replaying the
truncate/remove, or NULL_LSN when called outside of recovery; obsolete
totals should only be counted when this LSN is prior to the LSN of the
FileSummaryLN for the file being counted.boolean isFileUncounted(Long fileNum, long lsn)
abstract DbFileSummary getDbFileSummary(Object databaseKey, long fileNum)
This method is implemented by subclasses which interpret the databaseKey as either the DatabaseImpl or a DatabaseId.
For the global tracker, must be called under the log write latch.
TrackedFileSummary getFileSummary(long fileNum)
For the global tracker, must be called under the log write latch.
void resetFile(TrackedFileSummary fileSummary)
We keep the active file summary in the tracked file map, but we remove older files to prevent unbounded growth of the map.
Must be called under the log write latch.
boolean isNodeType(LogEntryType type)
boolean isLNType(LogEntryType type)
void close()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |