public class DefaultCompactionStrategy extends CompactionStrategy
Constructor and Description |
---|
DefaultCompactionStrategy() |
Modifier and Type | Method and Description |
---|---|
CompactionPlan |
getCompactionPlan(MajorCompactionRequest request)
Get the plan for compacting a tablets files.
|
boolean |
shouldCompact(MajorCompactionRequest request)
Determine if this tablet is eligible for a major compaction.
|
gatherInformation, init
public boolean shouldCompact(MajorCompactionRequest request)
CompactionStrategy
CompactionStrategy.gatherInformation(MajorCompactionRequest)
and
CompactionStrategy.getCompactionPlan(MajorCompactionRequest)
) that it does not need to. Any state stored
during shouldCompact will no longer exist when
CompactionStrategy.gatherInformation(MajorCompactionRequest)
and
CompactionStrategy.getCompactionPlan(MajorCompactionRequest)
are called.
Called while holding the tablet lock, so it should not be doing any blocking.
Since no blocking should be done in this method, then its unexpected that this method will throw IOException. However since its in the API, it can not be easily removed.
shouldCompact
in class CompactionStrategy
public CompactionPlan getCompactionPlan(MajorCompactionRequest request)
CompactionStrategy
Since no blocking should be done in this method, then its unexpected that this method will throw IOException. However since its in the API, it can not be easily removed.
getCompactionPlan
in class CompactionStrategy
request
- basic details about the tabletCopyright © 2011–2019 The Apache Software Foundation. All rights reserved.