@InterfaceAudience.Private public class AssignmentManager extends Object implements ServerListener
RegionStates.RegionStateStore.| Modifier and Type | Class and Description |
|---|---|
static class |
AssignmentManager.RegionInTransitionStat |
| Modifier and Type | Field and Description |
|---|---|
static String |
ASSIGN_DISPATCH_WAIT_MSEC_CONF_KEY |
static String |
ASSIGN_DISPATCH_WAITQ_MAX_CONF_KEY |
static String |
ASSIGN_MAX_ATTEMPTS |
static String |
BOOTSTRAP_THREAD_POOL_SIZE_CONF_KEY |
static String |
METRICS_RIT_STUCK_WARNING_THRESHOLD
Region in Transition metrics threshold time
|
static String |
RIT_CHORE_INTERVAL_MSEC_CONF_KEY |
| Constructor and Description |
|---|
AssignmentManager(MasterServices master) |
AssignmentManager(MasterServices master,
RegionStateStore stateStore) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitwaitingpublic static final String BOOTSTRAP_THREAD_POOL_SIZE_CONF_KEY
public static final String ASSIGN_DISPATCH_WAIT_MSEC_CONF_KEY
public static final String ASSIGN_DISPATCH_WAITQ_MAX_CONF_KEY
public static final String RIT_CHORE_INTERVAL_MSEC_CONF_KEY
public static final String ASSIGN_MAX_ATTEMPTS
public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD
public AssignmentManager(MasterServices master)
public AssignmentManager(MasterServices master, RegionStateStore stateStore)
public void start()
throws IOException
IOExceptionpublic void stop()
public boolean isRunning()
public org.apache.hadoop.conf.Configuration getConfiguration()
public MetricsAssignmentManager getAssignmentManagerMetrics()
protected int getAssignMaxAttempts()
public void registerListener(AssignmentListener listener)
listener - The AssignmentListener to registerpublic boolean unregisterListener(AssignmentListener listener)
listener - The AssignmentListener to unregisterpublic void setRegionStateListener(RegionStateListener listener)
public void setRegionNormalizer(RegionNormalizer normalizer)
public RegionNormalizer getRegionNormalizer()
public RegionStates getRegionStates()
public RegionStateStore getRegionStateStore()
public List<ServerName> getFavoredNodes(RegionInfo regionInfo)
public boolean isTableEnabled(TableName tableName)
public boolean isTableDisabled(TableName tableName)
public boolean isMetaRegion(byte[] regionName)
public RegionInfo getMetaRegionFromName(byte[] regionName)
public boolean isCarryingMeta(ServerName serverName)
public Set<RegionInfo> getMetaRegionSet()
public boolean isMetaInitialized()
public boolean isMetaRegionInTransition()
public boolean waitMetaInitialized(Procedure proc)
public boolean waitMetaInitialized(Procedure proc, RegionInfo regionInfo)
public boolean waitMetaLoaded(Procedure proc)
protected void wakeMetaLoadedEvent()
public boolean isMetaLoaded()
public void checkIfShouldMoveSystemRegionAsync()
This method is called when a new RegionServer is added to cluster only.
public void assign(RegionInfo regionInfo, ServerName sn) throws IOException
IOExceptionpublic void assign(RegionInfo regionInfo) throws IOException
IOExceptionpublic void unassign(RegionInfo regionInfo) throws IOException
IOExceptionpublic void unassign(RegionInfo regionInfo, boolean forceNewPlan) throws IOException
IOExceptionpublic void move(RegionInfo regionInfo) throws IOException
IOExceptionpublic Future<byte[]> moveAsync(RegionPlan regionPlan) throws HBaseIOException
HBaseIOExceptionpublic boolean waitForAssignment(RegionInfo regionInfo) throws IOException
IOExceptionpublic boolean waitForAssignment(RegionInfo regionInfo, long timeout) throws IOException
IOExceptionpublic AssignProcedure[] createRoundRobinAssignProcedures(List<RegionInfo> hris)
hris and a call
to the balancer to populate the assigns with targets chosen using round-robin (default
balancer scheme). If at assign-time, the target chosen is no longer up, thats fine,
the AssignProcedure will ask the balancer for a new target, and so on.public AssignProcedure[] createAssignProcedures(List<RegionInfo> hris)
ServerCrashProcedure assigning regions on a server that has crashed (SCP is
also used across a cluster-restart just-in-case to ensure we do cleanup of any old WALs or
server processes).public MoveRegionProcedure[] createReopenProcedures(Collection<RegionInfo> regionInfo) throws IOException
IOExceptionpublic UnassignProcedure[] createUnassignProcedures(TableName tableName)
public AssignProcedure createAssignProcedure(RegionInfo regionInfo)
public AssignProcedure createAssignProcedure(RegionInfo regionInfo, ServerName targetServer)
public MoveRegionProcedure createMoveRegionProcedure(RegionPlan plan) throws HBaseIOException
HBaseIOExceptionpublic SplitTableRegionProcedure createSplitProcedure(RegionInfo regionToSplit, byte[] splitKey) throws IOException
IOExceptionpublic MergeTableRegionsProcedure createMergeProcedure(RegionInfo regionToMergeA, RegionInfo regionToMergeB) throws IOException
IOExceptionpublic void deleteTable(TableName tableName) throws IOException
IOExceptionpublic org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionResponse reportRegionStateTransition(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionRequest req) throws PleaseHoldException
PleaseHoldExceptionpublic void reportOnlineRegions(ServerName serverName, int versionNumber, Set<byte[]> regionNames) throws YouAreDeadException
YouAreDeadExceptionprotected boolean waitServerReportEvent(ServerName serverName, Procedure proc)
protected void wakeServerReportEvent(RegionStates.ServerStateNode serverNode)
public AssignmentManager.RegionInTransitionStat computeRegionInTransitionStat()
public void joinCluster()
throws IOException
IOExceptionpublic boolean isFailoverCleanupDone()
public void setFailoverCleanupDone(boolean b)
public ProcedureEvent getFailoverCleanupEvent()
public int getNumRegionsOpened()
public void submitServerCrash(ServerName serverName, boolean shouldSplitWal)
public void offlineRegion(RegionInfo regionInfo)
public void onlineRegion(RegionInfo regionInfo, ServerName serverName)
public Map<ServerName,List<RegionInfo>> getSnapShotOfAssignment(Collection<RegionInfo> regions)
public Pair<Integer,Integer> getReopenStatus(TableName tableName)
tableName - IOExceptionprotected boolean addRegionInTransition(RegionStates.RegionStateNode regionNode, RegionTransitionProcedure procedure)
protected void removeRegionInTransition(RegionStates.RegionStateNode regionNode, RegionTransitionProcedure procedure)
public boolean hasRegionsInTransition()
public List<RegionStates.RegionStateNode> getRegionsInTransition()
public List<RegionInfo> getAssignedRegions()
public RegionInfo getRegionInfo(byte[] regionName)
public void markRegionAsOpening(RegionStates.RegionStateNode regionNode) throws IOException
IOExceptionpublic void undoRegionAsOpening(RegionStates.RegionStateNode regionNode)
public void markRegionAsOpened(RegionStates.RegionStateNode regionNode) throws IOException
IOExceptionpublic void markRegionAsClosing(RegionStates.RegionStateNode regionNode) throws IOException
IOExceptionpublic void undoRegionAsClosing(RegionStates.RegionStateNode regionNode)
public void markRegionAsClosed(RegionStates.RegionStateNode regionNode) throws IOException
IOExceptionpublic void markRegionAsSplit(RegionInfo parent, ServerName serverName, RegionInfo daughterA, RegionInfo daughterB) throws IOException
IOExceptionpublic void markRegionAsMerged(RegionInfo child, ServerName serverName, RegionInfo mother, RegionInfo father) throws IOException
IOExceptionprotected void queueAssign(RegionStates.RegionStateNode regionNode)
public List<ServerName> getExcludedServersForSystemTable()
public void serverAdded(ServerName serverName)
ServerListenerserverAdded in interface ServerListenerserverName - The remote servers name.public void serverRemoved(ServerName serverName)
ServerListenerserverRemoved in interface ServerListenerserverName - The remote servers name.public int getServerVersion(ServerName serverName)
public void killRegionServer(ServerName serverName)
public void killRegionServer(RegionStates.ServerStateNode serverNode)
public void handleMetaRITOnCrashedServer(ServerName serverName)
serverName - Server that has already crashedCopyright © 2007–2018 The Apache Software Foundation. All rights reserved.