HBASE-24338 [Flakey Tests] NPE in TestRaceBetweenSCPAndDTP #1669
Signed-off-by: Lijin Bin <binlijin@apache.org> Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
parent
d30268d0ee
commit
fc283f7a68
|
@ -43,12 +43,16 @@ import org.junit.BeforeClass;
|
||||||
import org.junit.ClassRule;
|
import org.junit.ClassRule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.experimental.categories.Category;
|
import org.junit.experimental.categories.Category;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Testcase for HBASE-23636.
|
* Testcase for HBASE-23636.
|
||||||
*/
|
*/
|
||||||
@Category({ MasterTests.class, MediumTests.class })
|
@Category({ MasterTests.class, MediumTests.class })
|
||||||
public class TestRaceBetweenSCPAndDTP {
|
public class TestRaceBetweenSCPAndDTP {
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(TestRaceBetweenSCPAndDTP.class);
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
public static final HBaseClassTestRule CLASS_RULE =
|
public static final HBaseClassTestRule CLASS_RULE =
|
||||||
HBaseClassTestRule.forClass(TestRaceBetweenSCPAndDTP.class);
|
HBaseClassTestRule.forClass(TestRaceBetweenSCPAndDTP.class);
|
||||||
|
@ -115,12 +119,15 @@ public class TestRaceBetweenSCPAndDTP {
|
||||||
RegionInfo region = UTIL.getMiniHBaseCluster().getRegions(NAME).get(0).getRegionInfo();
|
RegionInfo region = UTIL.getMiniHBaseCluster().getRegions(NAME).get(0).getRegionInfo();
|
||||||
AssignmentManager am = UTIL.getMiniHBaseCluster().getMaster().getAssignmentManager();
|
AssignmentManager am = UTIL.getMiniHBaseCluster().getMaster().getAssignmentManager();
|
||||||
ServerName sn = am.getRegionStates().getRegionState(region).getServerName();
|
ServerName sn = am.getRegionStates().getRegionState(region).getServerName();
|
||||||
|
LOG.info("ServerName={}, region={}", sn, region);
|
||||||
|
|
||||||
ARRIVE_GET_REGIONS_ON_TABLE = new CountDownLatch(1);
|
ARRIVE_GET_REGIONS_ON_TABLE = new CountDownLatch(1);
|
||||||
RESUME_GET_REGIONS_ON_SERVER = new CountDownLatch(1);
|
RESUME_GET_REGIONS_ON_SERVER = new CountDownLatch(1);
|
||||||
|
// Assign to local variable because this static gets set to null in above running thread and
|
||||||
|
// so NPE.
|
||||||
|
CountDownLatch cdl = ARRIVE_GET_REGIONS_ON_TABLE;
|
||||||
UTIL.getAdmin().disableTableAsync(NAME);
|
UTIL.getAdmin().disableTableAsync(NAME);
|
||||||
ARRIVE_GET_REGIONS_ON_TABLE.await();
|
cdl.await();
|
||||||
|
|
||||||
ProcedureExecutor<?> procExec =
|
ProcedureExecutor<?> procExec =
|
||||||
UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor();
|
UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor();
|
||||||
|
|
Loading…
Reference in New Issue