public class ConfigurableCompactionStrategy extends CompactionStrategy
Constructor and Description |
---|
ConfigurableCompactionStrategy() |
Modifier and Type | Method and Description |
---|---|
void |
gatherInformation(MajorCompactionRequest request)
Called prior to obtaining the tablet lock, useful for examining metadata or indexes.
|
CompactionPlan |
getCompactionPlan(MajorCompactionRequest request)
Get the plan for compacting a tablets files.
|
void |
init(Map<String,String> options)
The settings for the compaction strategy pulled from zookeeper.
|
boolean |
shouldCompact(MajorCompactionRequest request)
Determine if this tablet is eligible for a major compaction.
|
public void init(Map<String,String> options)
CompactionStrategy
init
in class CompactionStrategy
public boolean shouldCompact(MajorCompactionRequest request) throws IOException
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
IOException
public void gatherInformation(MajorCompactionRequest request) throws IOException
CompactionStrategy
CompactionStrategy.getCompactionPlan(MajorCompactionRequest)
.gatherInformation
in class CompactionStrategy
request
- basic details about the tabletIOException
public CompactionPlan getCompactionPlan(MajorCompactionRequest request) throws IOException
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 tabletIOException
Copyright © 2011–2019 The Apache Software Foundation. All rights reserved.