@InterfaceAudience.LimitedPrivate(value="Configuration") public class RegionServerFlushTableProcedureManager extends RegionServerProcedureManager
HRegionServer
.Modifier and Type | Class and Description |
---|---|
class |
RegionServerFlushTableProcedureManager.FlushTableSubprocedureBuilder |
(package private) static class |
RegionServerFlushTableProcedureManager.FlushTableSubprocedurePool
We use the FlushTableSubprocedurePool, a class specific thread pool instead of
ExecutorService . |
Modifier and Type | Field and Description |
---|---|
private static String |
CONCURENT_FLUSH_TASKS_KEY |
private static int |
DEFAULT_CONCURRENT_FLUSH_TASKS |
static int |
FLUSH_REQUEST_THREADS_DEFAULT |
static String |
FLUSH_REQUEST_THREADS_KEY |
private static long |
FLUSH_REQUEST_WAKE_MILLIS_DEFAULT |
static String |
FLUSH_REQUEST_WAKE_MILLIS_KEY |
static long |
FLUSH_TIMEOUT_MILLIS_DEFAULT |
static String |
FLUSH_TIMEOUT_MILLIS_KEY |
private static org.slf4j.Logger |
LOG |
private ProcedureMember |
member |
private ProcedureMemberRpcs |
memberRpcs |
private RegionServerServices |
rss |
Constructor and Description |
---|
RegionServerFlushTableProcedureManager() |
RegionServerFlushTableProcedureManager(org.apache.hadoop.conf.Configuration conf,
HRegionServer server,
ProcedureMemberRpcs memberRpc,
ProcedureMember procMember)
Exposed for testing.
|
Modifier and Type | Method and Description |
---|---|
Subprocedure |
buildSubprocedure(String table)
If in a running state, creates the specified subprocedure to flush table regions.
|
String |
getProcedureSignature()
Return the unique signature of the procedure.
|
private List<HRegion> |
getRegionsToFlush(String table)
Get the list of regions to flush for the table on this server
It is possible that if a region moves somewhere between the calls
we'll miss the region.
|
void |
initialize(RegionServerServices rss)
Initialize this region server flush procedure manager
Uses a zookeeper based member controller.
|
void |
start()
Start accepting flush table requests.
|
void |
stop(boolean force)
Close this and all running tasks
|
equals, hashCode
private static final org.slf4j.Logger LOG
private static final String CONCURENT_FLUSH_TASKS_KEY
private static final int DEFAULT_CONCURRENT_FLUSH_TASKS
public static final String FLUSH_REQUEST_THREADS_KEY
public static final int FLUSH_REQUEST_THREADS_DEFAULT
public static final String FLUSH_TIMEOUT_MILLIS_KEY
public static final long FLUSH_TIMEOUT_MILLIS_DEFAULT
public static final String FLUSH_REQUEST_WAKE_MILLIS_KEY
private static final long FLUSH_REQUEST_WAKE_MILLIS_DEFAULT
private RegionServerServices rss
private ProcedureMemberRpcs memberRpcs
private ProcedureMember member
RegionServerFlushTableProcedureManager(org.apache.hadoop.conf.Configuration conf, HRegionServer server, ProcedureMemberRpcs memberRpc, ProcedureMember procMember)
conf
- HBase configuration.server
- region server.memberRpc
- use specified memberRpc instanceprocMember
- use specified ProcedureMemberpublic RegionServerFlushTableProcedureManager()
public void start()
start
in class RegionServerProcedureManager
public void stop(boolean force) throws IOException
stop
in class RegionServerProcedureManager
force
- forcefully stop all running tasksIOException
public Subprocedure buildSubprocedure(String table)
table
- private List<HRegion> getRegionsToFlush(String table) throws IOException
table
- IOException
public void initialize(RegionServerServices rss) throws org.apache.zookeeper.KeeperException
initialize
in class RegionServerProcedureManager
rss
- region serverorg.apache.zookeeper.KeeperException
- if the zookeeper cannot be reachedpublic String getProcedureSignature()
ProcedureManager
getProcedureSignature
in class ProcedureManager
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.