diff --git hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index a296f28..6ed9572 100644 --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -487,7 +487,7 @@ public class ServerManager { boolean carryingMeta = services.getAssignmentManager().isCarryingMeta(serverName); if (carryingMeta) { this.services.getExecutorService().submit(new MetaServerShutdownHandler(this.master, - this.services, this.deadservers, serverName, carryingMeta)); + this.services, this.deadservers, serverName)); } else { this.services.getExecutorService().submit(new ServerShutdownHandler(this.master, this.services, this.deadservers, serverName, true)); diff --git hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/MetaServerShutdownHandler.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/MetaServerShutdownHandler.java index ee0e060..2bf83f7 100644 --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/MetaServerShutdownHandler.java +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/MetaServerShutdownHandler.java @@ -32,20 +32,16 @@ import org.apache.hadoop.hbase.master.MasterServices; import org.apache.zookeeper.KeeperException; /** - * Shutdown handler for the server hosting -ROOT-, - * .META., or both. + * Shutdown handler for the server hosting .META. */ @InterfaceAudience.Private public class MetaServerShutdownHandler extends ServerShutdownHandler { - private final boolean carryingMeta; private static final Log LOG = LogFactory.getLog(MetaServerShutdownHandler.class); public MetaServerShutdownHandler(final Server server, final MasterServices services, - final DeadServer deadServers, final ServerName serverName, - final boolean carryingMeta) { + final DeadServer deadServers, final ServerName serverName) { super(server, services, deadServers, serverName, EventType.M_META_SERVER_SHUTDOWN, true); - this.carryingMeta = carryingMeta; } @Override @@ -57,24 +53,19 @@ public class MetaServerShutdownHandler extends ServerShutdownHandler { } } catch (IOException ioe) { this.services.getExecutorService().submit(this); - this.deadServers.add(serverName); throw new IOException("failed log splitting for " + serverName + ", will retry", ioe); } - // Assign root and meta if we were carrying them. - if (isCarryingMeta()) { // .META. - // Check again: region may be assigned to other where because of RIT - // timeout - if (this.services.getAssignmentManager().isCarryingMeta(serverName)) { - LOG.info("Server " + serverName - + " was carrying META. Trying to assign."); - this.services.getAssignmentManager().regionOffline( - HRegionInfo.FIRST_META_REGIONINFO); - verifyAndAssignMetaWithRetries(); - } else { - LOG.info("META has been assigned to otherwhere, skip assigning."); - } + // Assign meta if we were carrying them. + // Check again: region may be assigned to other where because of RIT + // timeout + if (this.services.getAssignmentManager().isCarryingMeta(serverName)) { + LOG.info("Server " + serverName + " was carrying META. Trying to assign."); + this.services.getAssignmentManager().regionOffline(HRegionInfo.FIRST_META_REGIONINFO); + verifyAndAssignMetaWithRetries(); + } else { + LOG.info("META has been assigned to otherwhere, skip assigning."); } super.process(); } @@ -97,10 +88,10 @@ public class MetaServerShutdownHandler extends ServerShutdownHandler { if (!this.server.getCatalogTracker().verifyMetaRegionLocation(timeout)) { this.services.getAssignmentManager().assignMeta(); } else if (serverName.equals(server.getCatalogTracker().getMetaLocation())) { - throw new IOException("-ROOT- is onlined on the dead server " + throw new IOException(".META. is onlined on the dead server " + serverName); } else { - LOG.info("Skip assigning -ROOT-, because it is online on the " + LOG.info("Skip assigning .META., because it is online on the " + server.getCatalogTracker().getMetaLocation()); } } @@ -142,10 +133,6 @@ public class MetaServerShutdownHandler extends ServerShutdownHandler { } } - boolean isCarryingMeta() { - return this.carryingMeta; - } - @Override public String toString() { String name = "UnknownServerName";