From 1552d2877e0233e817e034d929e360633c27072a Mon Sep 17 00:00:00 2001 From: Qi Yu Date: Mon, 16 Nov 2020 10:33:24 +0800 Subject: [PATCH 1/7] HBASE-25282 Remove processingServers in DeadServer as we can get this information by Procedure of master --- .../hadoop/hbase/master/DeadServer.java | 49 ------------------- .../hbase/master/MasterRpcServices.java | 6 +++ .../hadoop/hbase/master/ServerManager.java | 18 ++++++- .../procedure/ServerCrashProcedure.java | 2 - .../hadoop/hbase/master/TestDeadServer.java | 17 +------ .../hbase/master/procedure/TestHBCKSCP.java | 1 - 6 files changed, 24 insertions(+), 69 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java index c527bc028263..fc6e1247051d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java @@ -59,13 +59,6 @@ public class DeadServer { */ private final Map deadServers = new HashMap<>(); - /** - * Set of dead servers currently being processed by a SCP. - * Added to this list at the start of SCP and removed after it is done - * processing the crash. - */ - private final Set processingServers = new HashSet<>(); - /** * @param serverName server name. * @return true if this server is on the dead servers list false otherwise @@ -74,17 +67,6 @@ public synchronized boolean isDeadServer(final ServerName serverName) { return deadServers.containsKey(serverName); } - /** - * Checks if there are currently any dead servers being processed by the - * master. Returns true if at least one region server is currently being - * processed as dead. - * - * @return true if any RS are being processed as dead - */ - synchronized boolean areDeadServersInProgress() { - return !processingServers.isEmpty(); - } - public synchronized Set copyServerNames() { Set clone = new HashSet<>(deadServers.size()); clone.addAll(deadServers.keySet()); @@ -96,29 +78,6 @@ public synchronized Set copyServerNames() { */ synchronized void putIfAbsent(ServerName sn) { this.deadServers.putIfAbsent(sn, EnvironmentEdgeManager.currentTime()); - processing(sn); - } - - /** - * Add sn< to set of processing deadservers. - * @see #finish(ServerName) - */ - public synchronized void processing(ServerName sn) { - if (processingServers.add(sn)) { - // Only log on add. - LOG.debug("Processing {}; numProcessing={}", sn, processingServers.size()); - } - } - - /** - * Complete processing for this dead server. - * @param sn ServerName for the dead server. - * @see #processing(ServerName) - */ - public synchronized void finish(ServerName sn) { - if (processingServers.remove(sn)) { - LOG.debug("Removed {} from processing; numProcessing={}", sn, processingServers.size()); - } } public synchronized int size() { @@ -179,17 +138,12 @@ public synchronized String toString() { // Display unified set of servers from both maps Set servers = new HashSet<>(); servers.addAll(deadServers.keySet()); - servers.addAll(processingServers); StringBuilder sb = new StringBuilder(); for (ServerName sn : servers) { if (sb.length() > 0) { sb.append(", "); } sb.append(sn.toString()); - // Star entries that are being processed - if (processingServers.contains(sn)) { - sb.append("*"); - } } return sb.toString(); } @@ -228,9 +182,6 @@ public synchronized Date getTimeOfDeath(final ServerName deadServerName){ * @return true if this server was removed */ public synchronized boolean removeDeadServer(final ServerName deadServerName) { - Preconditions.checkState(!processingServers.contains(deadServerName), - "Asked to remove server still in processingServers set " + deadServerName + - " (numProcessing=" + processingServers.size() + ")"); return this.deadServers.remove(deadServerName) != null; } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index d4dbc8d55dcd..c700ace74efc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2440,6 +2440,12 @@ public ClearDeadServersResponse clearDeadServers(RpcController controller, Set
clearedServers = new HashSet<>(); for (HBaseProtos.ServerName pbServer : request.getServerNameList()) { ServerName server = ProtobufUtil.toServerName(pbServer); + final boolean deadInProcess = master.getServerManager().isDeadServersInProgress(server); + + if (!deadInProcess) { + throw new RuntimeException("Dead server {} is not 'dead' in fact..."); + } + if (!deadServer.removeDeadServer(server)) { response.addServerName(pbServer); } else { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index d327c3fd4a34..d49dea6489f2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -53,6 +53,7 @@ import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.ipc.RemoteWithExtrasException; import org.apache.hadoop.hbase.master.assignment.RegionStates; +import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure; import org.apache.hadoop.hbase.monitoring.MonitoredTask; import org.apache.hadoop.hbase.procedure2.Procedure; import org.apache.hadoop.hbase.util.Bytes; @@ -62,6 +63,7 @@ import org.apache.hadoop.hbase.zookeeper.ZKUtil; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; import org.apache.hadoop.hbase.zookeeper.ZNodePaths; +import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException; import org.apache.yetus.audience.InterfaceAudience; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; @@ -504,7 +506,21 @@ public DeadServer getDeadServers() { * @return true if any RS are being processed as dead, false if not */ public boolean areDeadServersInProgress() { - return this.deadservers.areDeadServersInProgress(); + try { + return master.getProcedures().stream().anyMatch(p -> p instanceof ServerCrashProcedure); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public boolean isDeadServersInProgress(ServerName serverName) { + try { + return master.getProcedures().stream().anyMatch( + p -> (p instanceof ServerCrashProcedure) + && ((ServerCrashProcedure) p).getServerName().equals(serverName)); + } catch (IOException e) { + throw new RuntimeException(e); + } } void letRegionServersShutdown() { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java index 17606c340665..655974489f68 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java @@ -122,7 +122,6 @@ protected Flow executeFromState(MasterProcedureEnv env, ServerCrashState state) // This adds server to the DeadServer processing list but not to the DeadServers list. // Server gets removed from processing list below on procedure successful finish. if (!notifiedDeadServer) { - services.getServerManager().getDeadServers().processing(serverName); notifiedDeadServer = true; } @@ -230,7 +229,6 @@ protected Flow executeFromState(MasterProcedureEnv env, ServerCrashState state) case SERVER_CRASH_FINISH: LOG.info("removed crashed server {} after splitting done", serverName); services.getAssignmentManager().getRegionStates().removeServer(serverName); - services.getServerManager().getDeadServers().finish(serverName); updateProgress(true); return Flow.NO_MORE_STATE; default: diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java index f78d49003770..b1312589e16d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java @@ -68,22 +68,10 @@ public static void tearDownAfterClass() throws Exception { @Test public void testIsDead() { DeadServer ds = new DeadServer(); ds.putIfAbsent(hostname123); - ds.processing(hostname123); - assertTrue(ds.areDeadServersInProgress()); - ds.finish(hostname123); - assertFalse(ds.areDeadServersInProgress()); ds.putIfAbsent(hostname1234); - ds.processing(hostname1234); - assertTrue(ds.areDeadServersInProgress()); - ds.finish(hostname1234); - assertFalse(ds.areDeadServersInProgress()); ds.putIfAbsent(hostname12345); - ds.processing(hostname12345); - assertTrue(ds.areDeadServersInProgress()); - ds.finish(hostname12345); - assertFalse(ds.areDeadServersInProgress()); // Already dead = 127.0.0.1,9090,112321 // Coming back alive = 127.0.0.1,9090,223341 @@ -112,7 +100,7 @@ public void testCrashProcedureReplay() { ProcedureTestingUtility.submitAndWait(pExecutor, proc); - assertFalse(master.getServerManager().getDeadServers().areDeadServersInProgress()); + assertFalse(!master.getServerManager().areDeadServersInProgress()); } @Test @@ -163,17 +151,14 @@ public void testClearDeadServer(){ d.putIfAbsent(hostname1234); Assert.assertEquals(2, d.size()); - d.finish(hostname123); d.removeDeadServer(hostname123); Assert.assertEquals(1, d.size()); - d.finish(hostname1234); d.removeDeadServer(hostname1234); Assert.assertTrue(d.isEmpty()); d.putIfAbsent(hostname1234); Assert.assertFalse(d.removeDeadServer(hostname123_2)); Assert.assertEquals(1, d.size()); - d.finish(hostname1234); Assert.assertTrue(d.removeDeadServer(hostname1234)); Assert.assertTrue(d.isEmpty()); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestHBCKSCP.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestHBCKSCP.java index 106936dd524c..dda74221160b 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestHBCKSCP.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestHBCKSCP.java @@ -110,7 +110,6 @@ public void test() throws Exception { // calling 'finish' and then remove it from dead servers so rsServerName // becomes an 'Unknown Server' even though it is still around. master.getServerManager().moveFromOnlineToDeadServers(rsServerName); - master.getServerManager().getDeadServers().finish(rsServerName); master.getServerManager().getDeadServers().removeDeadServer(rsServerName); master.getAssignmentManager().getRegionStates().removeServer(rsServerName); // Kill the server. Nothing should happen since an 'Unknown Server' as far From 71b3b5e6be2fab78761ef34e230a01f4d83c96cc Mon Sep 17 00:00:00 2001 From: yuqi1129 Date: Mon, 16 Nov 2020 10:51:29 +0800 Subject: [PATCH 2/7] HBASE-25282 Remove processingServers in DeadServer as we can get this information by Procedure of master, again --- .../java/org/apache/hadoop/hbase/master/MasterRpcServices.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index c700ace74efc..61dd3902185f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2443,7 +2443,7 @@ public ClearDeadServersResponse clearDeadServers(RpcController controller, final boolean deadInProcess = master.getServerManager().isDeadServersInProgress(server); if (!deadInProcess) { - throw new RuntimeException("Dead server {} is not 'dead' in fact..."); + throw new RuntimeException(String.format("Dead server '%s' is not 'dead' in fact...", server)); } if (!deadServer.removeDeadServer(server)) { From bf60ce629972aaa0f08bd0d2d71af94d0e90f51b Mon Sep 17 00:00:00 2001 From: yuqi1129 Date: Wed, 18 Nov 2020 15:21:24 +0800 Subject: [PATCH 3/7] HBASE-25282 Remove processingServers in DeadServer as we can get this information by Procedure of master, fix discussion 1 --- .../hadoop/hbase/master/MasterRpcServices.java | 6 ++++-- .../hadoop/hbase/master/ServerManager.java | 18 ++---------------- .../hadoop/hbase/TestRegionRebalancing.java | 2 +- .../hadoop/hbase/master/TestDeadServer.java | 5 +++-- .../hbase/master/TestRollingRestart.java | 2 +- .../TestSyncReplicationStandbyKillRS.java | 3 ++- 6 files changed, 13 insertions(+), 23 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 61dd3902185f..83fc5757c7bc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2440,10 +2440,12 @@ public ClearDeadServersResponse clearDeadServers(RpcController controller, Set
clearedServers = new HashSet<>(); for (HBaseProtos.ServerName pbServer : request.getServerNameList()) { ServerName server = ProtobufUtil.toServerName(pbServer); - final boolean deadInProcess = master.getServerManager().isDeadServersInProgress(server); + final boolean deadInProcess = master.getProcedures().stream().anyMatch( + p -> (p instanceof ServerCrashProcedure) + && ((ServerCrashProcedure) p).getServerName().equals(server)); if (!deadInProcess) { - throw new RuntimeException(String.format("Dead server '%s' is not 'dead' in fact...", server)); + throw new ServiceException(String.format("Dead server '%s' is not 'dead' in fact...", server)); } if (!deadServer.removeDeadServer(server)) { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index d49dea6489f2..cd3ca6e03918 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -505,23 +505,9 @@ public DeadServer getDeadServers() { * Checks if any dead servers are currently in progress. * @return true if any RS are being processed as dead, false if not */ - public boolean areDeadServersInProgress() { - try { + public boolean areDeadServersInProgress() throws IOException { return master.getProcedures().stream().anyMatch(p -> p instanceof ServerCrashProcedure); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - public boolean isDeadServersInProgress(ServerName serverName) { - try { - return master.getProcedures().stream().anyMatch( - p -> (p instanceof ServerCrashProcedure) - && ((ServerCrashProcedure) p).getServerName().equals(serverName)); - } catch (IOException e) { - throw new RuntimeException(e); - } - } + } void letRegionServersShutdown() { long previousLogTime = 0; diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java index 08ef06508c53..483eddecc4cb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java @@ -172,7 +172,7 @@ public void testRebalanceOnRegionServerNumberChange() /** * Wait on crash processing. Balancer won't run if processing a crashed server. */ - private void waitOnCrashProcessing() { + private void waitOnCrashProcessing() throws IOException { while (UTIL.getHBaseCluster().getMaster().getServerManager().areDeadServersInProgress()) { LOG.info("Waiting on processing of crashed server before proceeding..."); Threads.sleep(1000); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java index b1312589e16d..39163ab1de08 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.IOException; import java.util.List; import java.util.Set; import org.apache.hadoop.hbase.HBaseClassTestRule; @@ -92,7 +93,7 @@ public static void tearDownAfterClass() throws Exception { } @Test - public void testCrashProcedureReplay() { + public void testCrashProcedureReplay() throws IOException { HMaster master = TEST_UTIL.getHBaseCluster().getMaster(); final ProcedureExecutor pExecutor = master.getMasterProcedureExecutor(); ServerCrashProcedure proc = new ServerCrashProcedure( @@ -100,7 +101,7 @@ public void testCrashProcedureReplay() { ProcedureTestingUtility.submitAndWait(pExecutor, proc); - assertFalse(!master.getServerManager().areDeadServersInProgress()); + assertTrue(master.getServerManager().areDeadServersInProgress()); } @Test diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRollingRestart.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRollingRestart.java index 0aba48747829..dfadb13bf018 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRollingRestart.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRollingRestart.java @@ -221,7 +221,7 @@ public void testBasicRollingRestart() throws Exception { } private void waitForRSShutdownToStartAndFinish(MasterThread activeMaster, - ServerName serverName) throws InterruptedException { + ServerName serverName) throws InterruptedException, IOException { ServerManager sm = activeMaster.getMaster().getServerManager(); // First wait for it to be in dead list while (!sm.getDeadServers().isDeadServer(serverName)) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.java index d6596881e3d5..e9e915a3208f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.IOException; import java.util.List; import org.apache.hadoop.fs.Path; @@ -101,7 +102,7 @@ public void testStandbyKillRegionServer() throws Exception { } private void waitForRSShutdownToStartAndFinish(JVMClusterUtil.MasterThread activeMaster, - ServerName serverName) throws InterruptedException { + ServerName serverName) throws InterruptedException, IOException { ServerManager sm = activeMaster.getMaster().getServerManager(); // First wait for it to be in dead list while (!sm.getDeadServers().isDeadServer(serverName)) { From 9613660c835c12a302ba635a4a01085c6d3fd735 Mon Sep 17 00:00:00 2001 From: yuqi1129 Date: Wed, 18 Nov 2020 15:23:05 +0800 Subject: [PATCH 4/7] HBASE-25282 Remove processingServers in DeadServer as we can get this information by Procedure of master, fix discussion 2 --- .../java/org/apache/hadoop/hbase/master/ServerManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index cd3ca6e03918..ec0339452973 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -506,8 +506,8 @@ public DeadServer getDeadServers() { * @return true if any RS are being processed as dead, false if not */ public boolean areDeadServersInProgress() throws IOException { - return master.getProcedures().stream().anyMatch(p -> p instanceof ServerCrashProcedure); - } + return master.getProcedures().stream().anyMatch(p -> p instanceof ServerCrashProcedure); + } void letRegionServersShutdown() { long previousLogTime = 0; From 0b4669369da6d17d85ae8524d7e729cd400583ed Mon Sep 17 00:00:00 2001 From: yuqi1129 Date: Tue, 24 Nov 2020 16:12:28 +0800 Subject: [PATCH 5/7] HBASE-25282 Remove processingServers in DeadServer as we can get this information by Procedure of master, again, fix ut --- .../java/org/apache/hadoop/hbase/master/MasterRpcServices.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 83fc5757c7bc..5184ce12fb63 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2444,7 +2444,7 @@ public ClearDeadServersResponse clearDeadServers(RpcController controller, final boolean deadInProcess = master.getProcedures().stream().anyMatch( p -> (p instanceof ServerCrashProcedure) && ((ServerCrashProcedure) p).getServerName().equals(server)); - if (!deadInProcess) { + if (deadInProcess) { throw new ServiceException(String.format("Dead server '%s' is not 'dead' in fact...", server)); } From e146b308919547b7d3bde3676978da49792ca174 Mon Sep 17 00:00:00 2001 From: yuqi1129 Date: Wed, 25 Nov 2020 09:55:39 +0800 Subject: [PATCH 6/7] Fix checkstyle problem --- .../java/org/apache/hadoop/hbase/master/MasterRpcServices.java | 3 ++- .../java/org/apache/hadoop/hbase/master/ServerManager.java | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 5184ce12fb63..a68aa6650959 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2445,7 +2445,8 @@ public ClearDeadServersResponse clearDeadServers(RpcController controller, p -> (p instanceof ServerCrashProcedure) && ((ServerCrashProcedure) p).getServerName().equals(server)); if (deadInProcess) { - throw new ServiceException(String.format("Dead server '%s' is not 'dead' in fact...", server)); + throw new ServiceException( + String.format("Dead server '%s' is not 'dead' in fact...", server)); } if (!deadServer.removeDeadServer(server)) { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index ec0339452973..d1d935247a7e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -63,7 +63,6 @@ import org.apache.hadoop.hbase.zookeeper.ZKUtil; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; import org.apache.hadoop.hbase.zookeeper.ZNodePaths; -import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException; import org.apache.yetus.audience.InterfaceAudience; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; From 95031fb720cab6296eaf1441065ae8580f98528b Mon Sep 17 00:00:00 2001 From: yuqi1129 Date: Wed, 25 Nov 2020 09:57:12 +0800 Subject: [PATCH 7/7] Fix checkstyle problem again --- .../main/java/org/apache/hadoop/hbase/master/DeadServer.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java index fc6e1247051d..0471fabe3489 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/DeadServer.java @@ -33,9 +33,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.hbase.thirdparty.com.google.common.base.Preconditions; - - /** * Class to hold dead servers list and utility querying dead server list. * Servers are added when they expire or when we find them in filesystem on startup.