From f26e14a1b1e2ef51e8bca9132d98ccd29270ec19 Mon Sep 17 00:00:00 2001 From: zjushch Date: Thu, 10 Jan 2013 08:36:50 +0000 Subject: [PATCH] HBASE-7504 -ROOT- may be offline forever after FullGC of RS (Chunhui) git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1431208 13f79535-47bb-0310-9956-ffa450edef68 --- .../hadoop/hbase/master/handler/ServerShutdownHandler.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java index dd8c0617bfe..d6e5fca5623 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java @@ -107,6 +107,12 @@ public class ServerShutdownHandler extends EventHandler { getLong("hbase.catalog.verification.timeout", 1000); if (!this.server.getCatalogTracker().verifyRootRegionLocation(timeout)) { this.services.getAssignmentManager().assignRoot(); + } else if (serverName.equals(server.getCatalogTracker().getRootLocation())) { + throw new IOException("-ROOT- is onlined on the dead server " + + serverName); + } else { + LOG.info("Skip assigning -ROOT-, because it is online on the " + + server.getCatalogTracker().getRootLocation()); } }