Package org.apache.bookkeeper.bookie
Class ScanAndCompareGarbageCollector
java.lang.Object
org.apache.bookkeeper.bookie.ScanAndCompareGarbageCollector
- All Implemented Interfaces:
GarbageCollector
Garbage collector implementation using scan and compare.
Garbage collection is processed as below:
- fetch all existing ledgers from zookeeper or metastore according to the LedgerManager, called globalActiveLedgers
- fetch all active ledgers from bookie server, said bkActiveLedgers
- loop over bkActiveLedgers to find those ledgers that are not in globalActiveLedgers, do garbage collection on them.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.bookkeeper.bookie.GarbageCollector
GarbageCollector.GarbageCleaner -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionScanAndCompareGarbageCollector(LedgerManager ledgerManager, CompactableLedgerStorage ledgerStorage, ServerConfiguration conf, StatsLogger statsLogger) -
Method Summary
Modifier and TypeMethodDescriptionvoidgc(GarbageCollector.GarbageCleaner garbageCleaner) Do the garbage collector work.int
-
Field Details
-
LOG
static final org.slf4j.Logger LOG
-
-
Constructor Details
-
ScanAndCompareGarbageCollector
public ScanAndCompareGarbageCollector(LedgerManager ledgerManager, CompactableLedgerStorage ledgerStorage, ServerConfiguration conf, StatsLogger statsLogger) throws IOException - Throws:
IOException
-
-
Method Details
-
getNumActiveLedgers
public int getNumActiveLedgers() -
gc
Description copied from interface:GarbageCollectorDo the garbage collector work.- Specified by:
gcin interfaceGarbageCollector- Parameters:
garbageCleaner- cleaner used to clean selected garbages
-