public class TestAssignmentManager extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
TestAssignmentManager.FaultyRsExecutor |
private class |
TestAssignmentManager.GoodRsExecutor |
private class |
TestAssignmentManager.HangOnCloseThenRSCrashExecutor |
private class |
TestAssignmentManager.HangThenRSCrashExecutor
Takes open request and then returns nothing so acts like a RS that went zombie.
|
private class |
TestAssignmentManager.HangThenRSRestartExecutor
Takes open request and then returns nothing so acts like a RS that went zombie.
|
private static interface |
TestAssignmentManager.MockRSExecutor |
private class |
TestAssignmentManager.MockRSProcedureDispatcher |
private class |
TestAssignmentManager.NoopRsExecutor |
private class |
TestAssignmentManager.RandRsExecutor |
private static class |
TestAssignmentManager.ServerNotYetRunningRsExecutor |
private class |
TestAssignmentManager.SocketTimeoutRsExecutor |
Modifier and Type | Field and Description |
---|---|
private org.apache.hadoop.hbase.master.assignment.AssignmentManager |
am |
private long |
assignFailedCount |
private org.apache.hadoop.hbase.procedure2.ProcedureMetrics |
assignProcMetrics |
private long |
assignSubmittedCount |
static HBaseClassTestRule |
CLASS_RULE |
org.junit.rules.ExpectedException |
exception |
private ScheduledExecutorService |
executor |
private static org.slf4j.Logger |
LOG |
private MockMasterServices |
master |
org.junit.rules.TestName |
name |
private static int |
NREGIONS |
private static int |
NSERVERS |
private static int |
PROC_NTHREADS |
private NavigableMap<org.apache.hadoop.hbase.ServerName,SortedSet<byte[]>> |
regionsToRegionServers |
private TestAssignmentManager.MockRSProcedureDispatcher |
rsDispatcher |
private long |
unassignFailedCount |
private org.apache.hadoop.hbase.procedure2.ProcedureMetrics |
unassignProcMetrics |
private long |
unassignSubmittedCount |
private HBaseTestingUtility |
UTIL |
Constructor and Description |
---|
TestAssignmentManager() |
Modifier and Type | Method and Description |
---|---|
private void |
bulkSubmit(org.apache.hadoop.hbase.master.assignment.AssignProcedure[] procs) |
private void |
collectAssignmentManagerMetrics() |
private org.apache.hadoop.hbase.master.assignment.AssignProcedure |
createAndSubmitAssign(org.apache.hadoop.hbase.TableName tableName,
int regionId) |
private org.apache.hadoop.hbase.master.assignment.UnassignProcedure |
createAndSubmitUnassign(org.apache.hadoop.hbase.TableName tableName,
int regionId) |
private org.apache.hadoop.hbase.client.RegionInfo |
createRegionInfo(org.apache.hadoop.hbase.TableName tableName,
long regionId) |
private void |
doCrash(org.apache.hadoop.hbase.ServerName serverName) |
private void |
doRestart(org.apache.hadoop.hbase.ServerName serverName) |
private void |
sendTransitionReport(org.apache.hadoop.hbase.ServerName serverName,
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo regionInfo,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode state) |
void |
setUp() |
private void |
setupConfiguration(org.apache.hadoop.conf.Configuration conf) |
private void |
setUpMeta() |
private Future<byte[]> |
submitProcedure(org.apache.hadoop.hbase.procedure2.Procedure proc) |
void |
tearDown() |
private void |
testAssign(TestAssignmentManager.MockRSExecutor executor) |
private void |
testAssign(TestAssignmentManager.MockRSExecutor executor,
int nregions) |
void |
testAssignAnAssignedRegion() |
void |
testAssignAndCrashBeforeResponse() |
void |
testAssignMetaAndCrashBeforeResponse()
It is possible that when AM send assign meta request to a RS successfully,
but RS can not send back any response, which cause master startup hangs forever
|
void |
testAssignWithGoodExec() |
void |
testAssignWithRandExec() |
void |
testDoNotRetryExceptionOnAssignment() |
private void |
testFailedOpen(org.apache.hadoop.hbase.TableName tableName,
TestAssignmentManager.MockRSExecutor executor) |
void |
testIOExceptionOnAssignment() |
private void |
testRetriesExhaustedFailure(org.apache.hadoop.hbase.TableName tableName,
TestAssignmentManager.MockRSExecutor executor) |
void |
testServerNotYetRunning() |
void |
testSocketTimeout() |
void |
testUnassignAndCrashBeforeResponse() |
void |
testUnassignAnUnassignedRegion() |
void |
testWaitServerReportEventWithNullServer() |
private byte[] |
waitOnFuture(Future<byte[]> future) |
public static final HBaseClassTestRule CLASS_RULE
private static final org.slf4j.Logger LOG
public org.junit.rules.TestName name
public final org.junit.rules.ExpectedException exception
private static final int PROC_NTHREADS
private static final int NREGIONS
private static final int NSERVERS
private HBaseTestingUtility UTIL
private TestAssignmentManager.MockRSProcedureDispatcher rsDispatcher
private MockMasterServices master
private org.apache.hadoop.hbase.master.assignment.AssignmentManager am
private NavigableMap<org.apache.hadoop.hbase.ServerName,SortedSet<byte[]>> regionsToRegionServers
private ScheduledExecutorService executor
private org.apache.hadoop.hbase.procedure2.ProcedureMetrics assignProcMetrics
private org.apache.hadoop.hbase.procedure2.ProcedureMetrics unassignProcMetrics
private long assignSubmittedCount
private long assignFailedCount
private long unassignSubmittedCount
private long unassignFailedCount
public TestAssignmentManager()
private void setupConfiguration(org.apache.hadoop.conf.Configuration conf) throws Exception
Exception
public void testWaitServerReportEventWithNullServer() throws org.apache.hadoop.hbase.exceptions.UnexpectedStateException
org.apache.hadoop.hbase.exceptions.UnexpectedStateException
public void testAssignWithGoodExec() throws Exception
Exception
public void testAssignAndCrashBeforeResponse() throws Exception
Exception
public void testUnassignAndCrashBeforeResponse() throws Exception
Exception
public void testAssignWithRandExec() throws Exception
Exception
public void testSocketTimeout() throws Exception
Exception
public void testServerNotYetRunning() throws Exception
Exception
private void testRetriesExhaustedFailure(org.apache.hadoop.hbase.TableName tableName, TestAssignmentManager.MockRSExecutor executor) throws Exception
Exception
public void testIOExceptionOnAssignment() throws Exception
Exception
public void testDoNotRetryExceptionOnAssignment() throws Exception
Exception
private void testFailedOpen(org.apache.hadoop.hbase.TableName tableName, TestAssignmentManager.MockRSExecutor executor) throws Exception
Exception
private void testAssign(TestAssignmentManager.MockRSExecutor executor) throws Exception
Exception
private void testAssign(TestAssignmentManager.MockRSExecutor executor, int nregions) throws Exception
Exception
public void testAssignAnAssignedRegion() throws Exception
Exception
public void testUnassignAnUnassignedRegion() throws Exception
Exception
public void testAssignMetaAndCrashBeforeResponse() throws Exception
Exception
private Future<byte[]> submitProcedure(org.apache.hadoop.hbase.procedure2.Procedure proc)
private byte[] waitOnFuture(Future<byte[]> future) throws Exception
Exception
private void bulkSubmit(org.apache.hadoop.hbase.master.assignment.AssignProcedure[] procs) throws Exception
Exception
private org.apache.hadoop.hbase.master.assignment.AssignProcedure createAndSubmitAssign(org.apache.hadoop.hbase.TableName tableName, int regionId)
private org.apache.hadoop.hbase.master.assignment.UnassignProcedure createAndSubmitUnassign(org.apache.hadoop.hbase.TableName tableName, int regionId)
private org.apache.hadoop.hbase.client.RegionInfo createRegionInfo(org.apache.hadoop.hbase.TableName tableName, long regionId)
private void sendTransitionReport(org.apache.hadoop.hbase.ServerName serverName, org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo regionInfo, org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode state) throws IOException
IOException
private void doCrash(org.apache.hadoop.hbase.ServerName serverName)
private void doRestart(org.apache.hadoop.hbase.ServerName serverName)
private void collectAssignmentManagerMetrics()
Copyright © 2007–2018 The Apache Software Foundation. All rights reserved.