public class PolicyBasedChaosMonkey extends ChaosMonkey
Modifier and Type | Field and Description |
---|---|
static long |
TIMEOUT |
Constructor and Description |
---|
PolicyBasedChaosMonkey(IntegrationTestingUtility util,
java.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> java.util.List<T> |
selectRandomItems(T[] items,
float ratio)
Selects and returns ceil(ratio * items.length) random items from the given array
|
static <T> T |
selectWeightedRandomItem(java.util.List<<any>> items)
Selects a random item from the given items with weights
|
void |
start() |
void |
stop(java.lang.String why) |
void |
waitForStop()
Wait for ChaosMonkey to stop.
|
public static final long TIMEOUT
public PolicyBasedChaosMonkey(IntegrationTestingUtility util, Policy... policies)
util
- the HBaseIntegrationTestingUtility already configuredpolicies
- custom policies to usepublic PolicyBasedChaosMonkey(IntegrationTestingUtility util, java.util.Collection<Policy> policies)
public static <T> T selectRandomItem(T[] items)
public static <T> T selectWeightedRandomItem(java.util.List<<any>> items)
public static <T> java.util.List<T> selectRandomItems(T[] items, float ratio)
public void start() throws java.lang.Exception
start
in class ChaosMonkey
java.lang.Exception
public void stop(java.lang.String why)
stop
in class ChaosMonkey
public boolean isStopped()
isStopped
in class ChaosMonkey
public void waitForStop() throws java.lang.InterruptedException
waitForStop
in class ChaosMonkey
java.lang.InterruptedException
public boolean isDestructive()
ChaosMonkey
isDestructive
in class ChaosMonkey