Search in sources :

Example 1 with Action

use of org.apache.hadoop.hbase.chaos.actions.Action in project hbase by apache.

the class MasterKillingMonkeyFactory method build.

@Override
public ChaosMonkey build() {
    loadProperties();
    // Destructive actions to mess things around.
    Action[] actions1 = new Action[] { new RestartActiveMasterAction(restartActiveMasterSleepTime) };
    // Action to log more info for debugging
    Action[] actions2 = new Action[] { new DumpClusterStatusAction() };
    return new PolicyBasedChaosMonkey(util, new PeriodicRandomActionPolicy(action1Period, actions1), new PeriodicRandomActionPolicy(action2Period, actions2));
}
Also used : PolicyBasedChaosMonkey(org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) RestartActiveMasterAction(org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction) Action(org.apache.hadoop.hbase.chaos.actions.Action) RestartActiveMasterAction(org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) PeriodicRandomActionPolicy(org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy)

Example 2 with Action

use of org.apache.hadoop.hbase.chaos.actions.Action in project hbase by apache.

the class NoKillMonkeyFactory method build.

@Override
public ChaosMonkey build() {
    Action[] actions1 = new Action[] { new CompactTableAction(tableName, MonkeyConstants.DEFAULT_PERIODIC_ACTION1_PERIOD), new CompactRandomRegionOfTableAction(tableName, MonkeyConstants.DEFAULT_COMPACT_RANDOM_REGION_RATIO), new FlushTableAction(tableName), new FlushRandomRegionOfTableAction(tableName), new MoveRandomRegionOfTableAction(tableName) };
    Action[] actions2 = new Action[] { new SplitRandomRegionOfTableAction(tableName), new MergeRandomAdjacentRegionsOfTableAction(tableName), new SnapshotTableAction(tableName), new AddColumnAction(tableName), new RemoveColumnAction(tableName, columnFamilies), new ChangeEncodingAction(tableName), new ChangeCompressionAction(tableName), new ChangeBloomFilterAction(tableName), new ChangeVersionsAction(tableName) };
    Action[] actions3 = new Action[] { new MoveRegionsOfTableAction(MonkeyConstants.DEFAULT_MOVE_REGIONS_SLEEP_TIME, MonkeyConstants.DEFAULT_MOVE_REGIONS_MAX_TIME, tableName), new MoveRandomRegionOfTableAction(MonkeyConstants.DEFAULT_RESTART_ACTIVE_MASTER_SLEEP_TIME, tableName) };
    Action[] actions4 = new Action[] { new DumpClusterStatusAction() };
    return new PolicyBasedChaosMonkey(util, new TwoConcurrentActionPolicy(MonkeyConstants.DEFAULT_PERIODIC_ACTION1_PERIOD, actions1, actions2), new PeriodicRandomActionPolicy(MonkeyConstants.DEFAULT_PERIODIC_ACTION2_PERIOD, actions3), new PeriodicRandomActionPolicy(MonkeyConstants.DEFAULT_PERIODIC_ACTION4_PERIOD, actions4));
}
Also used : PolicyBasedChaosMonkey(org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey) SplitRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.SplitRandomRegionOfTableAction) ChangeCompressionAction(org.apache.hadoop.hbase.chaos.actions.ChangeCompressionAction) FlushRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.FlushRandomRegionOfTableAction) MergeRandomAdjacentRegionsOfTableAction(org.apache.hadoop.hbase.chaos.actions.MergeRandomAdjacentRegionsOfTableAction) Action(org.apache.hadoop.hbase.chaos.actions.Action) ChangeEncodingAction(org.apache.hadoop.hbase.chaos.actions.ChangeEncodingAction) MoveRegionsOfTableAction(org.apache.hadoop.hbase.chaos.actions.MoveRegionsOfTableAction) SplitRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.SplitRandomRegionOfTableAction) CompactRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.CompactRandomRegionOfTableAction) ChangeBloomFilterAction(org.apache.hadoop.hbase.chaos.actions.ChangeBloomFilterAction) FlushTableAction(org.apache.hadoop.hbase.chaos.actions.FlushTableAction) SnapshotTableAction(org.apache.hadoop.hbase.chaos.actions.SnapshotTableAction) ChangeVersionsAction(org.apache.hadoop.hbase.chaos.actions.ChangeVersionsAction) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) MoveRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.MoveRandomRegionOfTableAction) AddColumnAction(org.apache.hadoop.hbase.chaos.actions.AddColumnAction) RemoveColumnAction(org.apache.hadoop.hbase.chaos.actions.RemoveColumnAction) CompactTableAction(org.apache.hadoop.hbase.chaos.actions.CompactTableAction) MoveRegionsOfTableAction(org.apache.hadoop.hbase.chaos.actions.MoveRegionsOfTableAction) ChangeBloomFilterAction(org.apache.hadoop.hbase.chaos.actions.ChangeBloomFilterAction) RemoveColumnAction(org.apache.hadoop.hbase.chaos.actions.RemoveColumnAction) CompactRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.CompactRandomRegionOfTableAction) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) MergeRandomAdjacentRegionsOfTableAction(org.apache.hadoop.hbase.chaos.actions.MergeRandomAdjacentRegionsOfTableAction) SnapshotTableAction(org.apache.hadoop.hbase.chaos.actions.SnapshotTableAction) MoveRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.MoveRandomRegionOfTableAction) ChangeVersionsAction(org.apache.hadoop.hbase.chaos.actions.ChangeVersionsAction) FlushTableAction(org.apache.hadoop.hbase.chaos.actions.FlushTableAction) TwoConcurrentActionPolicy(org.apache.hadoop.hbase.chaos.policies.TwoConcurrentActionPolicy) ChangeEncodingAction(org.apache.hadoop.hbase.chaos.actions.ChangeEncodingAction) CompactTableAction(org.apache.hadoop.hbase.chaos.actions.CompactTableAction) ChangeCompressionAction(org.apache.hadoop.hbase.chaos.actions.ChangeCompressionAction) AddColumnAction(org.apache.hadoop.hbase.chaos.actions.AddColumnAction) PeriodicRandomActionPolicy(org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy) FlushRandomRegionOfTableAction(org.apache.hadoop.hbase.chaos.actions.FlushRandomRegionOfTableAction)

Example 3 with Action

use of org.apache.hadoop.hbase.chaos.actions.Action in project hbase by apache.

the class ServerAndDependenciesKillingMonkeyFactory method build.

@Override
public ChaosMonkey build() {
    // Destructive actions to mess things around. Cannot run batch restart.
    Action[] actions1 = new Action[] { new RestartRandomRsExceptMetaAction(60000), new RestartActiveMasterAction(5000), // only allow 2 servers to be dead.
    new RollingBatchRestartRsExceptMetaAction(5000, 1.0f, 2), new ForceBalancerAction(), new RestartRandomDataNodeAction(60000), new RestartRandomZKNodeAction(60000) };
    // Action to log more info for debugging
    Action[] actions2 = new Action[] { new DumpClusterStatusAction() };
    return new PolicyBasedChaosMonkey(util, new CompositeSequentialPolicy(new DoActionsOncePolicy(60 * 1000, actions1), new PeriodicRandomActionPolicy(60 * 1000, actions1)), new PeriodicRandomActionPolicy(60 * 1000, actions2));
}
Also used : PolicyBasedChaosMonkey(org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey) RestartRandomDataNodeAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomDataNodeAction) ForceBalancerAction(org.apache.hadoop.hbase.chaos.actions.ForceBalancerAction) RestartRandomRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomRsExceptMetaAction) Action(org.apache.hadoop.hbase.chaos.actions.Action) RestartRandomZKNodeAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomZKNodeAction) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) RestartActiveMasterAction(org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction) RollingBatchRestartRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RollingBatchRestartRsExceptMetaAction) RollingBatchRestartRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RollingBatchRestartRsExceptMetaAction) DoActionsOncePolicy(org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) ForceBalancerAction(org.apache.hadoop.hbase.chaos.actions.ForceBalancerAction) CompositeSequentialPolicy(org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy) RestartRandomDataNodeAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomDataNodeAction) RestartActiveMasterAction(org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction) RestartRandomZKNodeAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomZKNodeAction) PeriodicRandomActionPolicy(org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy) RestartRandomRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomRsExceptMetaAction)

Example 4 with Action

use of org.apache.hadoop.hbase.chaos.actions.Action in project hbase by apache.

the class ServerKillingMonkeyFactory method build.

@Override
public ChaosMonkey build() {
    // Destructive actions to mess things around. Cannot run batch restart
    Action[] actions1 = new Action[] { new RestartRandomRsExceptMetaAction(60000), new RestartActiveMasterAction(5000), //only allow 2 servers to be dead
    new RollingBatchRestartRsExceptMetaAction(5000, 1.0f, 2), new ForceBalancerAction() };
    // Action to log more info for debugging
    Action[] actions2 = new Action[] { new DumpClusterStatusAction() };
    return new PolicyBasedChaosMonkey(util, new CompositeSequentialPolicy(new DoActionsOncePolicy(60 * 1000, actions1), new PeriodicRandomActionPolicy(60 * 1000, actions1)), new PeriodicRandomActionPolicy(60 * 1000, actions2));
}
Also used : PolicyBasedChaosMonkey(org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) ForceBalancerAction(org.apache.hadoop.hbase.chaos.actions.ForceBalancerAction) RestartActiveMasterAction(org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction) RestartRandomRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomRsExceptMetaAction) Action(org.apache.hadoop.hbase.chaos.actions.Action) RollingBatchRestartRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RollingBatchRestartRsExceptMetaAction) RollingBatchRestartRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RollingBatchRestartRsExceptMetaAction) RestartActiveMasterAction(org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction) DoActionsOncePolicy(org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy) DumpClusterStatusAction(org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction) ForceBalancerAction(org.apache.hadoop.hbase.chaos.actions.ForceBalancerAction) CompositeSequentialPolicy(org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy) PeriodicRandomActionPolicy(org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy) RestartRandomRsExceptMetaAction(org.apache.hadoop.hbase.chaos.actions.RestartRandomRsExceptMetaAction)

Example 5 with Action

use of org.apache.hadoop.hbase.chaos.actions.Action in project hbase by apache.

the class TwoConcurrentActionPolicy method runOneIteration.

@Override
protected void runOneIteration() {
    Action actionOne = PolicyBasedChaosMonkey.selectRandomItem(actionsOne);
    Action actionTwo = PolicyBasedChaosMonkey.selectRandomItem(actionsTwo);
    Future fOne = executor.submit(new ActionRunner(actionOne));
    Future fTwo = executor.submit(new ActionRunner(actionTwo));
    try {
        fOne.get();
        fTwo.get();
    } catch (InterruptedException e) {
        LOG.warn("Exception occurred during performing action: " + StringUtils.stringifyException(e));
    } catch (ExecutionException ex) {
        LOG.warn("Exception occurred during performing action: " + StringUtils.stringifyException(ex));
    }
}
Also used : Action(org.apache.hadoop.hbase.chaos.actions.Action) Future(java.util.concurrent.Future) ExecutionException(java.util.concurrent.ExecutionException)

Aggregations

Action (org.apache.hadoop.hbase.chaos.actions.Action)6 DumpClusterStatusAction (org.apache.hadoop.hbase.chaos.actions.DumpClusterStatusAction)4 RestartActiveMasterAction (org.apache.hadoop.hbase.chaos.actions.RestartActiveMasterAction)4 PolicyBasedChaosMonkey (org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey)4 PeriodicRandomActionPolicy (org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy)4 ForceBalancerAction (org.apache.hadoop.hbase.chaos.actions.ForceBalancerAction)2 MoveRegionsOfTableAction (org.apache.hadoop.hbase.chaos.actions.MoveRegionsOfTableAction)2 RestartRandomRsExceptMetaAction (org.apache.hadoop.hbase.chaos.actions.RestartRandomRsExceptMetaAction)2 RollingBatchRestartRsExceptMetaAction (org.apache.hadoop.hbase.chaos.actions.RollingBatchRestartRsExceptMetaAction)2 CompositeSequentialPolicy (org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy)2 DoActionsOncePolicy (org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy)2 ExecutionException (java.util.concurrent.ExecutionException)1 Future (java.util.concurrent.Future)1 AddColumnAction (org.apache.hadoop.hbase.chaos.actions.AddColumnAction)1 ChangeBloomFilterAction (org.apache.hadoop.hbase.chaos.actions.ChangeBloomFilterAction)1 ChangeCompressionAction (org.apache.hadoop.hbase.chaos.actions.ChangeCompressionAction)1 ChangeEncodingAction (org.apache.hadoop.hbase.chaos.actions.ChangeEncodingAction)1 ChangeVersionsAction (org.apache.hadoop.hbase.chaos.actions.ChangeVersionsAction)1 CompactRandomRegionOfTableAction (org.apache.hadoop.hbase.chaos.actions.CompactRandomRegionOfTableAction)1 CompactTableAction (org.apache.hadoop.hbase.chaos.actions.CompactTableAction)1