HBASE-21421 Do not kill RS if reportOnlineRegions fails
This commit is contained in:
parent
d19e6dff2c
commit
5b8c767374
|
@ -1007,8 +1007,7 @@ public class AssignmentManager implements ServerListener {
|
|||
}
|
||||
}
|
||||
|
||||
void checkOnlineRegionsReport(final ServerStateNode serverNode, final Set<byte[]> regionNames)
|
||||
throws YouAreDeadException {
|
||||
void checkOnlineRegionsReport(final ServerStateNode serverNode, final Set<byte[]> regionNames) {
|
||||
final ServerName serverName = serverNode.getServerName();
|
||||
try {
|
||||
for (byte[] regionName: regionNames) {
|
||||
|
@ -1047,9 +1046,10 @@ public class AssignmentManager implements ServerListener {
|
|||
}
|
||||
}
|
||||
} catch (UnexpectedStateException e) {
|
||||
LOG.warn("Killing " + serverName + ": " + e.getMessage());
|
||||
killRegionServer(serverName);
|
||||
throw (YouAreDeadException)new YouAreDeadException(e.getMessage()).initCause(e);
|
||||
//See HBASE-21421, we can count on reportRegionStateTransition calls
|
||||
//We only log a warming here. It could be a network lag.
|
||||
LOG.warn("Failed to checkOnlineRegionsReport, maybe due to network lag, "
|
||||
+ "if this message continues, be careful of double assign", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ import org.junit.AfterClass;
|
|||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.ClassRule;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.categories.Category;
|
||||
|
@ -137,7 +138,11 @@ public class TestRogueRSAssignment {
|
|||
admin.setBalancerRunning(true, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ignore this test, see HBASE-21421
|
||||
*/
|
||||
@Test
|
||||
@Ignore
|
||||
public void testReportRSWithWrongRegion() throws Exception {
|
||||
final TableName tableName = TableName.valueOf(this.name.getMethodName());
|
||||
|
||||
|
|
Loading…
Reference in New Issue