@InterfaceAudience.Private public abstract class StoreEngine<SF extends StoreFlusher,CP extends CompactionPolicy,C extends Compactor,SFM extends StoreFileManager> extends Object
Modifier and Type | Field and Description |
---|---|
protected CP |
compactionPolicy |
protected C |
compactor |
private static Class<? extends StoreEngine<?,?,?,?>> |
DEFAULT_STORE_ENGINE_CLASS |
static String |
STORE_ENGINE_CLASS_KEY
The name of the configuration parameter that specifies the class of
a store engine that is used to manage and compact HBase store files.
|
protected SFM |
storeFileManager |
protected SF |
storeFlusher |
Constructor and Description |
---|
StoreEngine() |
Modifier and Type | Method and Description |
---|---|
static StoreEngine<?,?,?,?> |
create(Store store,
org.apache.hadoop.conf.Configuration conf,
KeyValue.KVComparator kvComparator)
Create the StoreEngine configured for the given Store.
|
abstract CompactionContext |
createCompaction()
Creates an instance of a compaction context specific to this engine.
|
protected abstract void |
createComponents(org.apache.hadoop.conf.Configuration conf,
Store store,
KeyValue.KVComparator kvComparator)
Create the StoreEngine's components.
|
private void |
createComponentsOnce(org.apache.hadoop.conf.Configuration conf,
Store store,
KeyValue.KVComparator kvComparator) |
CompactionPolicy |
getCompactionPolicy() |
Compactor |
getCompactor() |
StoreFileManager |
getStoreFileManager() |
StoreFlusher |
getStoreFlusher() |
abstract boolean |
needsCompaction(List<StoreFile> filesCompacting) |
protected SF extends StoreFlusher storeFlusher
protected CP extends CompactionPolicy compactionPolicy
protected SFM extends StoreFileManager storeFileManager
public static final String STORE_ENGINE_CLASS_KEY
private static final Class<? extends StoreEngine<?,?,?,?>> DEFAULT_STORE_ENGINE_CLASS
public CompactionPolicy getCompactionPolicy()
public Compactor getCompactor()
public StoreFileManager getStoreFileManager()
public StoreFlusher getStoreFlusher()
public abstract boolean needsCompaction(List<StoreFile> filesCompacting)
filesCompacting
- Files currently compactingpublic abstract CompactionContext createCompaction() throws IOException
IOException
protected abstract void createComponents(org.apache.hadoop.conf.Configuration conf, Store store, KeyValue.KVComparator kvComparator) throws IOException
IOException
private void createComponentsOnce(org.apache.hadoop.conf.Configuration conf, Store store, KeyValue.KVComparator kvComparator) throws IOException
IOException
public static StoreEngine<?,?,?,?> create(Store store, org.apache.hadoop.conf.Configuration conf, KeyValue.KVComparator kvComparator) throws IOException
store
- The store. An unfortunate dependency needed due to it
being passed to coprocessors via the compactor.conf
- Store configuration.kvComparator
- KVComparator for storeFileManager.IOException
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.