public class MarkSweepGarbageCollector extends java.lang.Object implements BlobGarbageCollector
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BATCH_COUNT |
static java.lang.String |
DELIM |
static Logger |
LOG |
static java.lang.String |
TEMP_DIR |
Constructor and Description |
---|
MarkSweepGarbageCollector(BlobReferenceRetriever marker,
GarbageCollectableBlobStore blobStore,
java.util.concurrent.Executor executor,
long maxLastModifiedInterval,
@Nullable java.lang.String repositoryId,
@Nullable Whiteboard whiteboard,
@Nullable StatisticsProvider statisticsProvider)
Instantiates a new blob garbage collector.
|
MarkSweepGarbageCollector(BlobReferenceRetriever marker,
GarbageCollectableBlobStore blobStore,
java.util.concurrent.Executor executor,
java.lang.String root,
int batchCount,
long maxLastModifiedInterval,
boolean checkConsistencyAfterGc,
@Nullable java.lang.String repositoryId,
@Nullable Whiteboard whiteboard,
@Nullable StatisticsProvider statisticsProvider)
Creates an instance of MarkSweepGarbageCollector
|
MarkSweepGarbageCollector(BlobReferenceRetriever marker,
GarbageCollectableBlobStore blobStore,
java.util.concurrent.Executor executor,
java.lang.String root,
int batchCount,
long maxLastModifiedInterval,
@Nullable java.lang.String repositoryId) |
Modifier and Type | Method and Description |
---|---|
long |
checkConsistency()
Checks for the DataStore consistency and reports the number of missing blobs still referenced.
|
void |
collectGarbage(boolean markOnly)
Marks garbage blobs from the passed node store instance.
|
void |
collectGarbage(boolean markOnly,
boolean forceBlobRetrieve)
Marks garbage blobs from the passed node store instance.
|
OperationsStatsMBean |
getConsistencyOperationStats()
Returns consistency operation statistics
|
OperationsStatsMBean |
getOperationStats()
Returns operation statistics
|
java.util.List<GarbageCollectionRepoStats> |
getStats()
Returns the stats related to GC for all repos
|
void |
setTraceOutput(boolean trace) |
public static final Logger LOG
public static final java.lang.String TEMP_DIR
public static final int DEFAULT_BATCH_COUNT
public static final java.lang.String DELIM
public MarkSweepGarbageCollector(BlobReferenceRetriever marker, GarbageCollectableBlobStore blobStore, java.util.concurrent.Executor executor, java.lang.String root, int batchCount, long maxLastModifiedInterval, boolean checkConsistencyAfterGc, @Nullable @Nullable java.lang.String repositoryId, @Nullable @Nullable Whiteboard whiteboard, @Nullable @Nullable StatisticsProvider statisticsProvider) throws java.io.IOException
marker
- BlobReferenceRetriever instanced used to fetch refereed blob entriesblobStore
- the blob store instanceexecutor
- executorroot
- the root absolute path of directory under which temporary
files would be createdbatchCount
- batch sized used for saving intermediate statemaxLastModifiedInterval
- lastModifiedTime in millis. Only files with time
less than this time would be considered for GCrepositoryId
- unique repository id for this nodewhiteboard
- whiteboard instancestatisticsProvider
- statistics provider instancejava.io.IOException
public MarkSweepGarbageCollector(BlobReferenceRetriever marker, GarbageCollectableBlobStore blobStore, java.util.concurrent.Executor executor, java.lang.String root, int batchCount, long maxLastModifiedInterval, @Nullable @Nullable java.lang.String repositoryId) throws java.io.IOException
java.io.IOException
public MarkSweepGarbageCollector(BlobReferenceRetriever marker, GarbageCollectableBlobStore blobStore, java.util.concurrent.Executor executor, long maxLastModifiedInterval, @Nullable @Nullable java.lang.String repositoryId, @Nullable @Nullable Whiteboard whiteboard, @Nullable @Nullable StatisticsProvider statisticsProvider) throws java.io.IOException
java.io.IOException
public void collectGarbage(boolean markOnly) throws java.lang.Exception
BlobGarbageCollector
collectGarbage
in interface BlobGarbageCollector
markOnly
- whether to only mark references and not sweep in the mark and sweep operation.java.lang.Exception
- the exceptionpublic void collectGarbage(boolean markOnly, boolean forceBlobRetrieve) throws java.lang.Exception
BlobGarbageCollector
collectGarbage
in interface BlobGarbageCollector
markOnly
- whether to only mark references and not sweep in the mark and sweep operation.forceBlobRetrieve
- whether to force retrieve of blob ids from datastorejava.lang.Exception
public java.util.List<GarbageCollectionRepoStats> getStats() throws java.lang.Exception
getStats
in interface BlobGarbageCollector
java.lang.Exception
public OperationsStatsMBean getOperationStats()
BlobGarbageCollector
getOperationStats
in interface BlobGarbageCollector
public OperationsStatsMBean getConsistencyOperationStats()
BlobGarbageCollector
getConsistencyOperationStats
in interface BlobGarbageCollector
public long checkConsistency() throws java.lang.Exception
checkConsistency
in interface BlobGarbageCollector
java.lang.Exception
public void setTraceOutput(boolean trace)
Copyright © 2010 - 2020 Adobe. All Rights Reserved