HBASE-11709 TestMasterShutdown can fail sometime

This commit is contained in:
Jimmy Xiang 2014-08-08 10:10:28 -07:00
parent 2b9123f938
commit b0c7498742
4 changed files with 11 additions and 16 deletions

View File

@ -1521,11 +1521,6 @@ public class AssignmentManager extends ZooKeeperListener {
if (isDisabledorDisablingRegionInRIT(region)) { if (isDisabledorDisablingRegionInRIT(region)) {
return; return;
} }
if (this.serverManager.isClusterShutdown()) {
LOG.info("Cluster shutdown is set; skipping assign of " +
region.getRegionNameAsString());
return;
}
String encodedName = region.getEncodedName(); String encodedName = region.getEncodedName();
Lock lock = locker.acquireLock(encodedName); Lock lock = locker.acquireLock(encodedName);
try { try {
@ -3284,6 +3279,8 @@ public class AssignmentManager extends ZooKeeperListener {
synchronized (zkEventWorkerWaitingList){ synchronized (zkEventWorkerWaitingList){
zkEventWorkerWaitingList.clear(); zkEventWorkerWaitingList.clear();
} }
// Shutdown the threadpool executor service
threadPoolExecutorService.shutdownNow(); threadPoolExecutorService.shutdownNow();
zkEventWorkers.shutdownNow(); zkEventWorkers.shutdownNow();
regionStateStore.stop(); regionStateStore.stop();

View File

@ -1647,18 +1647,16 @@ public class HMaster extends HRegionServer implements MasterServices, Server {
LOG.error("Error call master coprocessor preShutdown()", ioe); LOG.error("Error call master coprocessor preShutdown()", ioe);
} }
} }
if (this.assignmentManager != null) {
this.assignmentManager.shutdown(); if (this.serverManager != null) {
this.serverManager.shutdownCluster();
} }
try { if (this.clusterStatusTracker != null){
if (this.clusterStatusTracker != null){ try {
this.clusterStatusTracker.setClusterDown(); this.clusterStatusTracker.setClusterDown();
if (this.serverManager != null) { } catch (KeeperException e) {
this.serverManager.shutdownCluster(); LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);
}
} }
} catch (KeeperException e) {
LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);
} }
} }

View File

@ -874,7 +874,7 @@ public class MasterRpcServices extends RSRpcServices
public IsMasterRunningResponse isMasterRunning(RpcController c, public IsMasterRunningResponse isMasterRunning(RpcController c,
IsMasterRunningRequest req) throws ServiceException { IsMasterRunningRequest req) throws ServiceException {
try { try {
master.checkInitialized(); master.checkServiceStarted();
return IsMasterRunningResponse.newBuilder().setIsMasterRunning( return IsMasterRunningResponse.newBuilder().setIsMasterRunning(
!master.isStopped()).build(); !master.isStopped()).build();
} catch (IOException e) { } catch (IOException e) {

View File

@ -671,7 +671,7 @@ public class HRegionServer extends HasThread implements
* @return False if cluster shutdown in progress * @return False if cluster shutdown in progress
*/ */
private boolean isClusterUp() { private boolean isClusterUp() {
return this.clusterStatusTracker.isClusterUp(); return clusterStatusTracker != null && clusterStatusTracker.isClusterUp();
} }
private void initializeThreads() throws IOException { private void initializeThreads() throws IOException {