HBASE-20772 Controlled shutdown fills Master log with the disturbing message 'No matching procedure found for rit=OPEN, location=ZZZZ, table=YYYYY, region=XXXX transition to CLOSED'

Look for the particular case where RS does the close of region w/o
involving Master and log special message in this case. Dodgy. But
until we have Master run shutdown of all regions, better than
the message we currently show.
This commit is contained in:
Michael Stack 2018-08-13 12:01:54 -07:00
parent a2d3f161fe
commit e705cf1447
2 changed files with 15 additions and 3 deletions

View File

@ -921,7 +921,7 @@ public class ServerManager {
}
}
boolean isClusterShutdown() {
public boolean isClusterShutdown() {
return this.clusterShutdown.get();
}

View File

@ -850,10 +850,22 @@ public class AssignmentManager implements ServerListener {
final ServerStateNode serverNode = regionStates.getOrCreateServer(serverName);
if (!reportTransition(regionNode, serverNode, state, seqId)) {
// Don't log if shutting down cluster; during shutdown.
// Don't log WARN if shutting down cluster; during shutdown. Avoid the below messages:
// 2018-08-13 10:45:10,551 WARN ...AssignmentManager: No matching procedure found for
// rit=OPEN, location=ve0538.halxg.cloudera.com,16020,1533493000958,
// table=IntegrationTestBigLinkedList, region=65ab289e2fc1530df65f6c3d7cde7aa5 transition
// to CLOSED
// These happen because on cluster shutdown, we currently let the RegionServers close
// regions. This is the only time that region close is not run by the Master (so cluster
// goes down fast). Consider changing it so Master runs all shutdowns.
if (this.master.getServerManager().isClusterShutdown() &&
state.equals(TransitionCode.CLOSED)) {
LOG.info("RegionServer {} {}", state, regionNode.getRegionInfo().getEncodedName());
} else {
LOG.warn("No matching procedure found for {} transition to {}", regionNode, state);
}
}
}
// FYI: regionNode is sometimes synchronized by the caller but not always.
private boolean reportTransition(final RegionStateNode regionNode,