public class PolicyBasedChaosMonkey extends ChaosMonkey
| Modifier and Type | Field and Description |
|---|---|
private static long |
FIVE_SEC |
private static org.slf4j.Logger |
LOG |
private Thread[] |
monkeyThreads |
private static long |
ONE_MIN |
private static long |
ONE_SEC |
private Policy[] |
policies |
static long |
TIMEOUT |
(package private) IntegrationTestingUtility |
util |
| Constructor and Description |
|---|
PolicyBasedChaosMonkey(IntegrationTestingUtility util,
Collection<Policy> policies) |
PolicyBasedChaosMonkey(IntegrationTestingUtility util,
Policy... policies)
Construct a new ChaosMonkey
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
isDestructive()
Returns whether the CM does destructive actions (killing servers) so that a cluster restore
is needed after CM is stopped.
|
boolean |
isStopped() |
static <T> T |
selectRandomItem(T[] items)
Selects a random item from the given items
|
static <T> List<T> |
selectRandomItems(T[] items,
float ratio)
Selects and returns ceil(ratio * items.length) random items from the given array
|
static <T> T |
selectWeightedRandomItem(List<org.apache.hadoop.hbase.util.Pair<T,Integer>> items)
Selects a random item from the given items with weights
|
void |
start() |
void |
stop(String why) |
void |
waitForStop()
Wait for ChaosMonkey to stop.
|
private static final org.slf4j.Logger LOG
private static final long ONE_SEC
private static final long FIVE_SEC
private static final long ONE_MIN
public static final long TIMEOUT
final IntegrationTestingUtility util
private Thread[] monkeyThreads
public PolicyBasedChaosMonkey(IntegrationTestingUtility util, Policy... policies)
util - the HBaseIntegrationTestingUtility already configuredpolicies - custom policies to usepublic PolicyBasedChaosMonkey(IntegrationTestingUtility util, Collection<Policy> policies)
public static <T> T selectRandomItem(T[] items)
public static <T> T selectWeightedRandomItem(List<org.apache.hadoop.hbase.util.Pair<T,Integer>> items)
public static <T> List<T> selectRandomItems(T[] items, float ratio)
public void start() throws Exception
start in class ChaosMonkeyExceptionpublic void stop(String why)
stop in interface org.apache.hadoop.hbase.Stoppablestop in class ChaosMonkeypublic boolean isStopped()
isStopped in interface org.apache.hadoop.hbase.StoppableisStopped in class ChaosMonkeypublic void waitForStop() throws InterruptedException
waitForStop in class ChaosMonkeyInterruptedExceptionpublic boolean isDestructive()
ChaosMonkeyisDestructive in class ChaosMonkeyCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.