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
44 if (context.isStopping()) {
45 return;
46 }
47
48 killMaster(server);
49 sleep(sleepTime);
50 startMaster(server);
51 }
52
53 void restartRs(ServerName server, long sleepTime) throws IOException {
54 sleepTime = Math.max(sleepTime, 1000);
55
56 if (context.isStopping()) {
57 return;
58 }
59 killRs(server);
60 sleep(sleepTime);
61 startRs(server);
62 }
63
64 void restartZKNode(ServerName server, long sleepTime) throws IOException {
65 sleepTime = Math.max(sleepTime, 1000);
66
67 if (context.isStopping()) {
68 return;
69 }
70 killZKNode(server);
71 sleep(sleepTime);
72 startZKNode(server);
73 }
74
75 void restartDataNode(ServerName server, long sleepTime) throws IOException {
76 sleepTime = Math.max(sleepTime, 1000);
77
78 if (context.isStopping()) {
79 return;
80 }
81 killDataNode(server);
82 sleep(sleepTime);
83 startDataNode(server);
84 }
85 }