|
22 | 22 |
|
23 | 23 | import java.io.IOException;
|
24 | 24 | import java.util.List;
|
25 |
| - |
| 25 | +import java.util.stream.Collectors; |
26 | 26 | import org.apache.hadoop.fs.Path;
|
27 | 27 | import org.apache.hadoop.hbase.HBaseClassTestRule;
|
28 | 28 | import org.apache.hadoop.hbase.ServerName;
|
@@ -72,16 +72,26 @@ public void testStandbyKillRegionServer() throws Exception {
|
72 | 72 | Thread t = new Thread(() -> {
|
73 | 73 | try {
|
74 | 74 | List<JVMClusterUtil.RegionServerThread> regionServers =
|
75 |
| - UTIL2.getMiniHBaseCluster().getLiveRegionServerThreads(); |
| 75 | + UTIL2.getMiniHBaseCluster().getLiveRegionServerThreads(); |
| 76 | + LOG.debug("Going to stop {} RSes: [{}]", regionServers.size(), |
| 77 | + regionServers.stream().map(rst -> rst.getRegionServer().getServerName().getServerName()) |
| 78 | + .collect(Collectors.joining(", "))); |
76 | 79 | for (JVMClusterUtil.RegionServerThread rst : regionServers) {
|
77 | 80 | ServerName serverName = rst.getRegionServer().getServerName();
|
78 |
| - LOG.debug("Going to stop [{}]", serverName); |
| 81 | + LOG.debug("Going to RS stop [{}]", serverName); |
79 | 82 | rst.getRegionServer().stop("Stop RS for test");
|
80 | 83 | waitForRSShutdownToStartAndFinish(activeMaster, serverName);
|
| 84 | + LOG.debug("Going to start a new RS"); |
81 | 85 | JVMClusterUtil.RegionServerThread restarted =
|
82 |
| - UTIL2.getMiniHBaseCluster().startRegionServer(); |
| 86 | + UTIL2.getMiniHBaseCluster().startRegionServer(); |
| 87 | + LOG.debug("Waiting RS [{}] to online", restarted.getRegionServer().getServerName()); |
83 | 88 | restarted.waitForServerOnline();
|
| 89 | + LOG.debug("Waiting the old RS {} thread to quit", rst.getName()); |
| 90 | + rst.join(); |
| 91 | + LOG.debug("Done stop RS [{}] and restart [{}]", serverName, |
| 92 | + restarted.getRegionServer().getServerName()); |
84 | 93 | }
|
| 94 | + LOG.debug("All RSes restarted"); |
85 | 95 | } catch (Exception e) {
|
86 | 96 | LOG.error("Failed to kill RS", e);
|
87 | 97 | }
|
|
0 commit comments