4242 */
4343public class ServerAndDependenciesKillingMonkeyFactory extends MonkeyFactory {
4444
45+ private long restartRandomRsExceptMetaSleepTime ;
46+ private long restartActiveMasterSleepTime ;
47+ private long rollingBatchRestartRSSleepTime ;
48+ private long restartActiveNameNodeSleepTime ;
49+ private long restartRandomDataNodeSleepTime ;
50+ private long restartRandomJournalNodeSleepTime ;
51+ private long restartRandomZKNodeSleepTime ;
4552 private long gracefulRollingRestartTSSLeepTime ;
4653 private long rollingBatchSuspendRSSleepTime ;
4754 private float rollingBatchSuspendtRSRatio ;
55+ private long action1Period ;
4856
4957 @ Override
5058 public ChaosMonkey build () {
@@ -53,15 +61,15 @@ public ChaosMonkey build() {
5361 // Destructive actions to mess things around. Cannot run batch restart.
5462 // @formatter:off
5563 Action [] actions1 = new Action [] {
56- new RestartRandomRsExceptMetaAction (60000 ),
57- new RestartActiveMasterAction (5000 ),
64+ new RestartRandomRsExceptMetaAction (restartRandomRsExceptMetaSleepTime ),
65+ new RestartActiveMasterAction (restartActiveMasterSleepTime ),
5866 // only allow 2 servers to be dead.
59- new RollingBatchRestartRsAction (5000 , 1.0f , 2 , true ),
67+ new RollingBatchRestartRsAction (rollingBatchRestartRSSleepTime , 1.0f , 2 , true ),
6068 new ForceBalancerAction (),
61- new RestartActiveNameNodeAction (60000 ),
62- new RestartRandomDataNodeAction (60000 ),
63- new RestartRandomJournalNodeAction (60000 ),
64- new RestartRandomZKNodeAction (60000 ),
69+ new RestartActiveNameNodeAction (restartActiveNameNodeSleepTime ),
70+ new RestartRandomDataNodeAction (restartRandomDataNodeSleepTime ),
71+ new RestartRandomJournalNodeAction (restartRandomJournalNodeSleepTime ),
72+ new RestartRandomZKNodeAction (restartRandomZKNodeSleepTime ),
6573 new GracefulRollingRestartRsAction (gracefulRollingRestartTSSLeepTime ),
6674 new RollingBatchSuspendResumeRsAction (rollingBatchSuspendRSSleepTime ,
6775 rollingBatchSuspendtRSRatio )
@@ -73,12 +81,33 @@ public ChaosMonkey build() {
7381 new Action [] { new DumpClusterStatusAction (), new DumpHdfsClusterStatusAction () };
7482
7583 return new PolicyBasedChaosMonkey (properties , util ,
76- new CompositeSequentialPolicy (new DoActionsOncePolicy (60 * 1000 , actions1 ),
77- new PeriodicRandomActionPolicy (60 * 1000 , actions1 )),
78- new PeriodicRandomActionPolicy (60 * 1000 , actions2 ));
84+ new CompositeSequentialPolicy (new DoActionsOncePolicy (action1Period , actions1 ),
85+ new PeriodicRandomActionPolicy (action1Period , actions1 )),
86+ new PeriodicRandomActionPolicy (action1Period , actions2 ));
7987 }
8088
8189 private void loadProperties () {
90+ restartRandomRsExceptMetaSleepTime = Long
91+ .parseLong (this .properties .getProperty (MonkeyConstants .RESTART_RANDOM_RS_EXCEPTION_SLEEP_TIME ,
92+ MonkeyConstants .DEFAULT_RESTART_RANDOM_RS_EXCEPTION_SLEEP_TIME + "" ));
93+ restartActiveMasterSleepTime =
94+ Long .parseLong (this .properties .getProperty (MonkeyConstants .RESTART_ACTIVE_MASTER_SLEEP_TIME ,
95+ MonkeyConstants .DEFAULT_RESTART_ACTIVE_MASTER_SLEEP_TIME + "" ));
96+ rollingBatchRestartRSSleepTime = Long
97+ .parseLong (this .properties .getProperty (MonkeyConstants .ROLLING_BATCH_RESTART_RS_SLEEP_TIME ,
98+ MonkeyConstants .DEFAULT_ROLLING_BATCH_RESTART_RS_SLEEP_TIME + "" ));
99+ restartActiveNameNodeSleepTime =
100+ Long .parseLong (this .properties .getProperty (MonkeyConstants .RESTART_ACTIVE_NAMENODE_SLEEP_TIME ,
101+ MonkeyConstants .DEFAULT_RESTART_ACTIVE_NAMENODE_SLEEP_TIME + "" ));
102+ restartRandomDataNodeSleepTime =
103+ Long .parseLong (this .properties .getProperty (MonkeyConstants .RESTART_RANDOM_DATANODE_SLEEP_TIME ,
104+ MonkeyConstants .DEFAULT_RESTART_RANDOM_DATANODE_SLEEP_TIME + "" ));
105+ restartRandomJournalNodeSleepTime = Long
106+ .parseLong (this .properties .getProperty (MonkeyConstants .RESTART_RANDOM_JOURNALNODE_SLEEP_TIME ,
107+ MonkeyConstants .DEFAULT_RESTART_RANDOM_JOURNALNODE_SLEEP_TIME + "" ));
108+ restartRandomZKNodeSleepTime =
109+ Long .parseLong (this .properties .getProperty (MonkeyConstants .RESTART_RANDOM_ZKNODE_SLEEP_TIME ,
110+ MonkeyConstants .DEFAULT_RESTART_RANDOM_ZKNODE_SLEEP_TIME + "" ));
82111 gracefulRollingRestartTSSLeepTime =
83112 Long .parseLong (this .properties .getProperty (MonkeyConstants .GRACEFUL_RESTART_RS_SLEEP_TIME ,
84113 MonkeyConstants .DEFAULT_GRACEFUL_RESTART_RS_SLEEP_TIME + "" ));
@@ -88,5 +117,8 @@ private void loadProperties() {
88117 rollingBatchSuspendtRSRatio =
89118 Float .parseFloat (this .properties .getProperty (MonkeyConstants .ROLLING_BATCH_SUSPEND_RS_RATIO ,
90119 MonkeyConstants .DEFAULT_ROLLING_BATCH_SUSPEND_RS_RATIO + "" ));
120+ action1Period =
121+ Long .parseLong (this .properties .getProperty (MonkeyConstants .PERIODIC_ACTION1_PERIOD ,
122+ MonkeyConstants .DEFAULT_PERIODIC_ACTION1_PERIOD + "" ));
91123 }
92124}
0 commit comments