@Override
  public ChaosMonkey build() {

    loadProperties();
    // Actions such as compact/flush a table/region,
    // move one region around. They are not so destructive,
    // can be executed more frequently.
    Action[] actions1 = new Action[] { new CompactMobAction(tableName, compactTableRatio),
      new CompactTableAction(tableName, compactTableRatio),
      new CompactRandomRegionOfTableAction(tableName, compactRandomRegionRatio),
      new FlushTableAction(tableName), new FlushRandomRegionOfTableAction(tableName),
      new MoveRandomRegionOfTableAction(tableName) };

    // Actions such as split/merge/snapshot.
    // They should not cause data loss, or unreliability
    // such as region stuck in transition.
    Action[] actions2 = new Action[] { new SplitRandomRegionOfTableAction(tableName),
      new MergeRandomAdjacentRegionsOfTableAction(tableName),
      new SnapshotTableAction(tableName, snapshotTableTtl), new AddColumnAction(tableName),
      new RemoveColumnAction(tableName, columnFamilies), new ChangeEncodingAction(tableName),
      new ChangeCompressionAction(tableName), new ChangeBloomFilterAction(tableName),
      new ChangeVersionsAction(tableName) };

    // Destructive actions to mess things around.
    Action[] actions3 = new Action[] {
      new MoveRegionsOfTableAction(moveRegionsSleepTime, moveRegionsMaxTime, tableName),
      new MoveRandomRegionOfTableAction(moveRandomRegionSleepTime, tableName),
      new RestartRandomRsAction(restartRandomRSSleepTime),
      new BatchRestartRsAction(batchRestartRSSleepTime, batchRestartRSRatio),
      new RestartActiveMasterAction(restartActiveMasterSleepTime),
      new RollingBatchRestartRsAction(rollingBatchRestartRSSleepTime, rollingBatchRestartRSRatio),
      new RestartRsHoldingMetaAction(restartRsHoldingMetaSleepTime) };

    // Action to log more info for debugging
    Action[] actions4 = new Action[] { new DumpClusterStatusAction() };

    return new PolicyBasedChaosMonkey(properties, util,
      new PeriodicRandomActionPolicy(action1Period, actions1),
      new PeriodicRandomActionPolicy(action2Period, actions2),
      new CompositeSequentialPolicy(new DoActionsOncePolicy(action3Period, actions3),
        new PeriodicRandomActionPolicy(action3Period, actions3)),
      new PeriodicRandomActionPolicy(action4Period, actions4));
  }
This is a copy of SlowDeterministicMonkeyFactory that also does mob compactions.
hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java