public class CompactionController extends AbstractCompactionController
cfs, gcBefore, tombstoneOption
Modifier | Constructor and Description |
---|---|
protected |
CompactionController(ColumnFamilyStore cfs,
int maxValue) |
|
CompactionController(ColumnFamilyStore cfs,
java.util.Set<SSTableReader> compacting,
int gcBefore) |
|
CompactionController(ColumnFamilyStore cfs,
java.util.Set<SSTableReader> compacting,
int gcBefore,
com.google.common.util.concurrent.RateLimiter limiter,
CompactionParams.TombstoneOption tombstoneOption) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
boolean |
compactingRepaired() |
java.util.Set<SSTableReader> |
getFullyExpiredSSTables() |
static java.util.Set<SSTableReader> |
getFullyExpiredSSTables(ColumnFamilyStore cfStore,
java.lang.Iterable<SSTableReader> compacting,
java.lang.Iterable<SSTableReader> overlapping,
int gcBefore) |
static java.util.Set<SSTableReader> |
getFullyExpiredSSTables(ColumnFamilyStore cfStore,
java.lang.Iterable<SSTableReader> compacting,
java.lang.Iterable<SSTableReader> overlapping,
int gcBefore,
boolean ignoreOverlaps)
Finds expired sstables
works something like this;
1.
|
java.util.function.LongPredicate |
getPurgeEvaluator(DecoratedKey key) |
protected boolean |
ignoreOverlaps()
Is overlapped sstables ignored
Control whether or not we are taking into account overlapping sstables when looking for fully expired sstables.
|
void |
maybeRefreshOverlaps() |
java.lang.Iterable<UnfilteredRowIterator> |
shadowSources(DecoratedKey key,
boolean tombstoneOnly) |
getColumnFamily, getKeyspace
protected CompactionController(ColumnFamilyStore cfs, int maxValue)
public CompactionController(ColumnFamilyStore cfs, java.util.Set<SSTableReader> compacting, int gcBefore)
public CompactionController(ColumnFamilyStore cfs, java.util.Set<SSTableReader> compacting, int gcBefore, com.google.common.util.concurrent.RateLimiter limiter, CompactionParams.TombstoneOption tombstoneOption)
public void maybeRefreshOverlaps()
public java.util.Set<SSTableReader> getFullyExpiredSSTables()
public static java.util.Set<SSTableReader> getFullyExpiredSSTables(ColumnFamilyStore cfStore, java.lang.Iterable<SSTableReader> compacting, java.lang.Iterable<SSTableReader> overlapping, int gcBefore, boolean ignoreOverlaps)
(maxTimestamp < global minTimestamp)
- if not droppable, remove from candidates
4. return candidates.cfStore
- compacting
- we take the drop-candidates from this set, it is usually the sstables included in the compactionoverlapping
- the sstables that overlap the ones in compacting.gcBefore
- ignoreOverlaps
- don't check if data shadows/overlaps any data in other sstablespublic static java.util.Set<SSTableReader> getFullyExpiredSSTables(ColumnFamilyStore cfStore, java.lang.Iterable<SSTableReader> compacting, java.lang.Iterable<SSTableReader> overlapping, int gcBefore)
public java.util.function.LongPredicate getPurgeEvaluator(DecoratedKey key)
getPurgeEvaluator
in class AbstractCompactionController
key
- public void close()
public boolean compactingRepaired()
compactingRepaired
in class AbstractCompactionController
public java.lang.Iterable<UnfilteredRowIterator> shadowSources(DecoratedKey key, boolean tombstoneOnly)
shadowSources
in class AbstractCompactionController
protected boolean ignoreOverlaps()
Copyright © 2009-2022 The Apache Software Foundation