Class IntegrationTestDDLMasterFailover

java.lang.Object
org.apache.hadoop.hbase.util.AbstractHBaseTool
org.apache.hadoop.hbase.IntegrationTestBase
org.apache.hadoop.hbase.IntegrationTestDDLMasterFailover
All Implemented Interfaces:
org.apache.hadoop.conf.Configurable, org.apache.hadoop.util.Tool

Integration test that verifies Procedure V2. DDL operations should go through (rollforward or rollback) when primary master is killed by ChaosMonkey (default MASTER_KILLING).

Multiple Worker threads are started to randomly do the following Actions in loops: Actions generating and populating tables:
  • CreateTableAction
  • DisableTableAction
  • EnableTableAction
  • DeleteTableAction
  • AddRowAction
Actions performing column family DDL operations:
  • AddColumnFamilyAction
  • AlterColumnFamilyVersionsAction
  • AlterColumnFamilyEncodingAction
  • DeleteColumnFamilyAction
Actions performing namespace DDL operations:
  • AddNamespaceAction
  • AlterNamespaceAction
  • DeleteNamespaceAction

The threads run for a period of time (default 20 minutes) then are stopped at the end of runtime. Verification is performed towards those checkpoints:
  1. No Actions throw Exceptions.
  2. No inconsistencies are detected in hbck.

This test should be run by the hbase user since it invokes hbck at the end

Usage: hbase org.apache.hadoop.hbase.IntegrationTestDDLMasterFailover -Dhbase.IntegrationTestDDLMasterFailover.runtime=1200000 -Dhbase.IntegrationTestDDLMasterFailover.numThreads=20 -Dhbase.IntegrationTestDDLMasterFailover.numRegions=50 --monkey masterKilling