|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.je.cleaner.FileSelector
public class FileSelector
Keeps track of the status of files for which cleaning is in progres.
Nested Class Summary | |
---|---|
static class |
FileSelector.CheckpointStartCleanerState
|
Constructor Summary | |
---|---|
FileSelector()
|
Method Summary | |
---|---|
(package private) void |
addCleanedFile(Long fileNum,
Set deferredWriteDbs)
When cleaning is complete, move the file from the being-cleaned set to the cleaned set. |
(package private) boolean |
addPendingDB(DatabaseId dbId)
Adds the given DatabaseId to the pending DB set. |
(package private) boolean |
addPendingLN(LN ln,
DatabaseId dbId,
byte[] key,
byte[] dupKey)
Adds the given LN info to the pending LN set. |
(package private) Set |
copySafeToDeleteFiles()
Returns a copy of the safe-to-delete files. |
(package private) int |
getBacklog()
Returns the number of files waiting to-be-cleaned. |
(package private) FileSelector.CheckpointStartCleanerState |
getFilesAtCheckpointStart()
Returns a copy of the cleaned and fully-processed files at the time a checkpoint starts. |
(package private) Set |
getLowUtilizationFiles()
Returns a read-only set of low utilization files that can be accessed without synchronization. |
(package private) Set |
getMustBeCleanedFiles()
Returns a read-only copy of to-be-cleaned and being-cleaned files that can be accessed without synchronization. |
(package private) DatabaseId[] |
getPendingDBs()
Returns an array of DatabaseIds for DBs that were pending deletion in a prior cleaning attempt, or null if no DBs are pending. |
(package private) LNInfo[] |
getPendingLNs()
Returns an array of LNInfo for LNs that could not be migrated in a prior cleaning attempt, or null if no LNs are pending. |
(package private) boolean |
isFileCleaningInProgress(Long file)
Returns whether the file is in any stage of the cleaning process. |
(package private) void |
putBackFileForCleaning(Long fileNum)
When file cleaning is aborted, move the file back from the being-cleaned set to the to-be-cleaned set. |
(package private) void |
removeAllFileReferences(Long file)
Removes all references to a file. |
(package private) void |
removeDeletedFile(Long fileNum)
Removes file from the safe-to-delete set after the file itself has finally been deleted. |
(package private) void |
removePendingDB(DatabaseId dbId)
Removes the DatabaseId from the pending DB set. |
(package private) void |
removePendingLN(long nodeId)
Removes the LN for the given node ID from the pending LN set. |
(package private) Long |
selectFileForCleaning(UtilizationProfile profile,
boolean forceCleaning,
boolean calcLowUtilizationFiles,
int maxBatchFiles)
Returns the best file that qualifies for cleaning, or null if no file qualifies. |
(package private) void |
updateFilesAtCheckpointEnd(FileSelector.CheckpointStartCleanerState info)
When a checkpoint is complete, move the previously cleaned and fully-processed files to the checkpointed and safe-to-delete sets. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
FileSelector()
Method Detail |
---|
Long selectFileForCleaning(UtilizationProfile profile, boolean forceCleaning, boolean calcLowUtilizationFiles, int maxBatchFiles) throws DatabaseException
forceCleaning
- is true to always select a file, even if its
utilization is above the minimum utilization threshold.calcLowUtilizationFiles
- whether to recalculate the set of files
that are below the minimum utilization threshold.maxBatchFiles
- is the maximum number of files to be selected at
one time, or zero if there is no limit.
DatabaseException
boolean isFileCleaningInProgress(Long file)
void removeAllFileReferences(Long file)
void putBackFileForCleaning(Long fileNum)
void addCleanedFile(Long fileNum, Set deferredWriteDbs)
Set getLowUtilizationFiles()
Set getMustBeCleanedFiles()
int getBacklog()
FileSelector.CheckpointStartCleanerState getFilesAtCheckpointStart()
void updateFilesAtCheckpointEnd(FileSelector.CheckpointStartCleanerState info)
boolean addPendingLN(LN ln, DatabaseId dbId, byte[] key, byte[] dupKey)
LNInfo[] getPendingLNs()
void removePendingLN(long nodeId)
boolean addPendingDB(DatabaseId dbId)
DatabaseId[] getPendingDBs()
void removePendingDB(DatabaseId dbId)
Set copySafeToDeleteFiles()
void removeDeletedFile(Long fileNum)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |