You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2022/04/13 03:27:03 UTC
[hbase] branch branch-2 updated: HBASE-26941 LocalHBaseCluster.waitOnRegionServer should quit while thread is interrupted (#4333)
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new f8b2ac0518 HBASE-26941 LocalHBaseCluster.waitOnRegionServer should quit while thread is interrupted (#4333)
f8b2ac0518 is described below
commit f8b2ac05185fd1b7b13a7b559136f01345bccaf2
Author: Duo Zhang <zh...@apache.org>
AuthorDate: Wed Apr 13 10:49:40 2022 +0800
HBASE-26941 LocalHBaseCluster.waitOnRegionServer should quit while thread is interrupted (#4333)
Signed-off-by: Xin Sun <dd...@gmail.com>
(cherry picked from commit 8247b7c722f95f94afd5cb9d9b80c9ce5f61a7de)
---
.../org/apache/hadoop/hbase/LocalHBaseCluster.java | 25 ++++++++--------------
.../org/apache/hadoop/hbase/MiniHBaseCluster.java | 17 +++++++++++----
.../hbase/master/TestMasterMetricsWrapper.java | 2 +-
3 files changed, 23 insertions(+), 21 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java
index ca7e82a607..6ddae5fc4c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java
@@ -300,7 +300,7 @@ public class LocalHBaseCluster {
* Wait for the specified region server to stop. Removes this thread from list of running threads.
* @return Name of region server that just went down.
*/
- public String waitOnRegionServer(int serverNumber) {
+ public String waitOnRegionServer(int serverNumber) throws InterruptedException {
JVMClusterUtil.RegionServerThread regionServerThread = this.regionThreads.get(serverNumber);
return waitOnRegionServer(regionServerThread);
}
@@ -309,14 +309,11 @@ public class LocalHBaseCluster {
* Wait for the specified region server to stop. Removes this thread from list of running threads.
* @return Name of region server that just went down.
*/
- public String waitOnRegionServer(JVMClusterUtil.RegionServerThread rst) {
+ public String waitOnRegionServer(JVMClusterUtil.RegionServerThread rst)
+ throws InterruptedException {
while (rst.isAlive()) {
- try {
- LOG.info("Waiting on " + rst.getRegionServer().toString());
- rst.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ LOG.info("Waiting on " + rst.getRegionServer().toString());
+ rst.join();
}
regionThreads.remove(rst);
return rst.getName();
@@ -372,7 +369,7 @@ public class LocalHBaseCluster {
* Wait for the specified master to stop. Removes this thread from list of running threads.
* @return Name of master that just went down.
*/
- public String waitOnMaster(int serverNumber) {
+ public String waitOnMaster(int serverNumber) throws InterruptedException {
JVMClusterUtil.MasterThread masterThread = this.masterThreads.get(serverNumber);
return waitOnMaster(masterThread);
}
@@ -381,14 +378,10 @@ public class LocalHBaseCluster {
* Wait for the specified master to stop. Removes this thread from list of running threads.
* @return Name of master that just went down.
*/
- public String waitOnMaster(JVMClusterUtil.MasterThread masterThread) {
+ public String waitOnMaster(JVMClusterUtil.MasterThread masterThread) throws InterruptedException {
while (masterThread.isAlive()) {
- try {
- LOG.info("Waiting on " + masterThread.getMaster().getServerName().toString());
- masterThread.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ LOG.info("Waiting on " + masterThread.getMaster().getServerName().toString());
+ masterThread.join();
}
masterThreads.remove(masterThread);
return masterThread.getName();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
index b5339d7201..66246bdebb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.hbase;
import java.io.IOException;
+import java.io.InterruptedIOException;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.HashSet;
@@ -309,7 +310,11 @@ public class MiniHBaseCluster extends HBaseCluster {
@Override
public void waitForRegionServerToStop(ServerName serverName, long timeout) throws IOException {
//ignore timeout for now
- waitOnRegionServer(getRegionServerIndex(serverName));
+ try {
+ waitOnRegionServer(getRegionServerIndex(serverName));
+ } catch (InterruptedException e) {
+ throw (InterruptedIOException) new InterruptedIOException().initCause(e);
+ }
}
@Override
@@ -405,7 +410,11 @@ public class MiniHBaseCluster extends HBaseCluster {
@Override
public void waitForMasterToStop(ServerName serverName, long timeout) throws IOException {
//ignore timeout for now
- waitOnMaster(getMasterIndex(serverName));
+ try {
+ waitOnMaster(getMasterIndex(serverName));
+ } catch (InterruptedException e) {
+ throw (InterruptedIOException) new InterruptedIOException().initCause(e);
+ }
}
/**
@@ -536,7 +545,7 @@ public class MiniHBaseCluster extends HBaseCluster {
* @param serverNumber
* @return Name of region server that just went down.
*/
- public String waitOnRegionServer(final int serverNumber) {
+ public String waitOnRegionServer(final int serverNumber) throws InterruptedException {
return this.hbaseCluster.waitOnRegionServer(serverNumber);
}
@@ -647,7 +656,7 @@ public class MiniHBaseCluster extends HBaseCluster {
* @param serverNumber
* @return Name of master that just went down.
*/
- public String waitOnMaster(final int serverNumber) {
+ public String waitOnMaster(final int serverNumber) throws InterruptedException {
return this.hbaseCluster.waitOnMaster(serverNumber);
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
index 920fd2d59c..871d0f1546 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
@@ -59,7 +59,7 @@ public class TestMasterMetricsWrapper {
}
@Test
- public void testInfo() {
+ public void testInfo() throws InterruptedException {
HMaster master = TEST_UTIL.getHBaseCluster().getMaster();
MetricsMasterWrapperImpl info = new MetricsMasterWrapperImpl(master);
assertEquals(