Class PolicyBasedChaosMonkey
java.lang.Object
org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey
org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey
- All Implemented Interfaces:
org.apache.hadoop.hbase.Stoppable
Chaos monkey that given multiple policies will run actions against the cluster.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Logger(package private) final Propertiesprivate final ExecutorServiceprivate static final longprivate static final longprivate final Policy[]static final long(package private) final IntegrationTestingUtility -
Constructor Summary
ConstructorsConstructorDescriptionPolicyBasedChaosMonkey(Properties monkeyProps, IntegrationTestingUtility util, Collection<Policy> policies) PolicyBasedChaosMonkey(Properties monkeyProps, IntegrationTestingUtility util, Policy... policies) PolicyBasedChaosMonkey(IntegrationTestingUtility util, Collection<Policy> policies) PolicyBasedChaosMonkey(IntegrationTestingUtility util, Policy... policies) Construct a new ChaosMonkey -
Method Summary
Modifier and TypeMethodDescriptionprivate static ExecutorServicebuildMonkeyThreadPool(int size) booleanReturns whether the CM does destructive actions (killing servers) so that a cluster restore is needed after CM is stopped.booleanstatic <T> TselectRandomItem(T[] items) Selects a random item from the given itemsstatic <T> List<T>selectRandomItems(T[] items, float ratio) Selects and returns ceil(ratio * items.length) random items from the given arraystatic <T> TselectWeightedRandomItem(List<org.apache.hadoop.hbase.util.Pair<T, Integer>> items) Selects a random item from the given items with weightsvoidstart()voidvoid
-
Field Details
-
LOG
-
ONE_SEC
- See Also:
-
ONE_MIN
- See Also:
-
TIMEOUT
- See Also:
-
util
-
monkeyProps
-
policies
-
monkeyThreadPool
-
-
Constructor Details
-
PolicyBasedChaosMonkey
Construct a new ChaosMonkey- Parameters:
util- the HBaseIntegrationTestingUtility already configuredpolicies- custom policies to use
-
PolicyBasedChaosMonkey
-
PolicyBasedChaosMonkey
public PolicyBasedChaosMonkey(Properties monkeyProps, IntegrationTestingUtility util, Collection<Policy> policies) -
PolicyBasedChaosMonkey
public PolicyBasedChaosMonkey(Properties monkeyProps, IntegrationTestingUtility util, Policy... policies)
-
-
Method Details
-
buildMonkeyThreadPool
-
selectRandomItem
Selects a random item from the given items -
selectWeightedRandomItem
public static <T> T selectWeightedRandomItem(List<org.apache.hadoop.hbase.util.Pair<T, Integer>> items) Selects a random item from the given items with weights -
selectRandomItems
Selects and returns ceil(ratio * items.length) random items from the given array -
start
- Specified by:
startin classChaosMonkey- Throws:
Exception
-
stop
- Specified by:
stopin interfaceorg.apache.hadoop.hbase.Stoppable- Specified by:
stopin classChaosMonkey
-
isStopped
- Specified by:
isStoppedin interfaceorg.apache.hadoop.hbase.Stoppable- Specified by:
isStoppedin classChaosMonkey
-
waitForStop
- Specified by:
waitForStopin classChaosMonkey- Throws:
InterruptedException
-
isDestructive
Description copied from class:ChaosMonkeyReturns whether the CM does destructive actions (killing servers) so that a cluster restore is needed after CM is stopped. Otherwise cluster will be left as it is- Specified by:
isDestructivein classChaosMonkey
-