Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.94.5
-
None
-
None
-
Reviewed
Description
The issue happens when a RS dies during a master starts up. After the RS reports open to the new master instance and dies immediately thereafter, the RITs of disabling tables(or disabled table) on the died RS will be in RIT state forever.
I attached a patch to simulate the situation and you can run the following command to reproduce the issue:
mvn test -PlocalTests -Dtest=TestMasterFailover#testMasterFailoverWithMockedRITOnDeadRS
Basically, we skip regions of a dead server inside AM.processDeadServersAndRecoverLostRegions as the following code and relies on SSH to process those skipped regions:
for (Pair<HRegionInfo, Result> deadRegion : deadServer.getValue()) {
nodes.remove(deadRegion.getFirst().getEncodedName());
}
While in SSH, we skip regions of disabling(or disabled table) again by function processDeadRegion. Finally comes to the issue that RITs of disabling(or disabled table) stuck there forever.
Attachments
Attachments
Issue Links
- blocks
-
HBASE-7824 Improve master start up time when there is log splitting work
- Closed