1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.chaos.actions;
20
21 import java.io.IOException;
22
23 import org.apache.hadoop.hbase.ServerName;
24 import org.apache.hadoop.hbase.util.Threads;
25
26
27
28
29 public class RestartActionBaseAction extends Action {
30 long sleepTime;
31
32 public RestartActionBaseAction(long sleepTime) {
33 this.sleepTime = sleepTime;
34 }
35
36 void sleep(long sleepTime) {
37 LOG.info("Sleeping for:" + sleepTime);
38 Threads.sleep(sleepTime);
39 }
40
41 void restartMaster(ServerName server, long sleepTime) throws IOException {
42 sleepTime = Math.max(sleepTime, 1000);
43 killMaster(server);
44 sleep(sleepTime);
45 startMaster(server);
46 }
47
48 void restartRs(ServerName server, long sleepTime) throws IOException {
49 sleepTime = Math.max(sleepTime, 1000);
50 killRs(server);
51 sleep(sleepTime);
52 startRs(server);
53 }
54
55 void restartZKNode(ServerName server, long sleepTime) throws IOException {
56 sleepTime = Math.max(sleepTime, 1000);
57 killZKNode(server);
58 sleep(sleepTime);
59 startZKNode(server);
60 }
61
62 void restartDataNode(ServerName server, long sleepTime) throws IOException {
63 sleepTime = Math.max(sleepTime, 1000);
64 killDataNode(server);
65 sleep(sleepTime);
66 startDataNode(server);
67 }
68 }