diff --git a/hbase-common/pom.xml b/hbase-common/pom.xml index f9d039a5ba53..d11bf7905048 100644 --- a/hbase-common/pom.xml +++ b/hbase-common/pom.xml @@ -216,6 +216,10 @@ log4j log4j + + junit + junit + diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseCommonTestingUtility.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseCommonTestingUtility.java similarity index 100% rename from hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseCommonTestingUtility.java rename to hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseCommonTestingUtility.java diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseInterfaceAudience.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseInterfaceAudience.java index 12b8398362ae..4117e0d9febd 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseInterfaceAudience.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseInterfaceAudience.java @@ -58,4 +58,9 @@ private HBaseInterfaceAudience(){} * Denotes classes that can be used to build custom authentication solutions. */ public static final String AUTHENTICATION = "Authentication"; + + /** + * Denotes classes that are being used to build Custom Chaos Monkey. + */ + public static final String CHAOS = "ChaosMonkey"; } diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/Waiter.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/Waiter.java similarity index 100% rename from hbase-common/src/test/java/org/apache/hadoop/hbase/Waiter.java rename to hbase-common/src/main/java/org/apache/hadoop/hbase/Waiter.java diff --git a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/test/MetricsAssertHelper.java similarity index 98% rename from hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelper.java rename to hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/test/MetricsAssertHelper.java index 52e0d091279f..967dd95a32de 100644 --- a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/test/MetricsAssertHelper.java @@ -19,8 +19,10 @@ package org.apache.hadoop.hbase.test; import org.apache.hadoop.hbase.metrics.BaseSource; +import org.apache.yetus.audience.InterfaceAudience; /** Interface of a class to make assertions about metrics values. */ +@InterfaceAudience.Private public interface MetricsAssertHelper { /** diff --git a/hbase-http/pom.xml b/hbase-http/pom.xml index 0bf21d292708..0d059e5d3b3b 100644 --- a/hbase-http/pom.xml +++ b/hbase-http/pom.xml @@ -226,6 +226,11 @@ bcprov-jdk15on test + + org.bouncycastle + bcprov-jdk15on + compile + org.apache.kerby kerb-core diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.java similarity index 99% rename from hbase-http/src/test/java/org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.java rename to hbase-http/src/main/java/org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.java index c8abd9c6cebc..cc08e4e8c97b 100644 --- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.java @@ -46,8 +46,10 @@ import org.apache.hadoop.hbase.HBaseCommonTestingUtility; import org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory; import org.apache.hadoop.security.ssl.SSLFactory; +import org.apache.yetus.audience.InterfaceAudience; import org.bouncycastle.x509.X509V1CertificateGenerator; +@InterfaceAudience.Private public final class KeyStoreTestUtil { private KeyStoreTestUtil() { } diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ClusterManager.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/ClusterManager.java similarity index 94% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/ClusterManager.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/ClusterManager.java index 6356345aa1aa..878268b519d1 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ClusterManager.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/ClusterManager.java @@ -22,15 +22,16 @@ import org.apache.hadoop.conf.Configurable; import org.apache.yetus.audience.InterfaceAudience; - +import org.apache.yetus.audience.InterfaceStability; /** * ClusterManager is an api to manage servers in a distributed environment. It provides services * for starting / stopping / killing Hadoop/HBase daemons. Concrete implementations provide actual * functionality for carrying out deployment-specific tasks. */ -@InterfaceAudience.Private -interface ClusterManager extends Configurable { +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving +public interface ClusterManager extends Configurable { /** * Type of the service daemon */ diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java similarity index 99% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java index 796bc1f27e00..550db91dda29 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java @@ -36,12 +36,14 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Threads; import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** * Manages the interactions with an already deployed distributed cluster (as opposed to * a pseudo-distributed, or mini/local cluster). This is used by integration and system tests. */ -@InterfaceAudience.Private +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DistributedHBaseCluster extends HBaseCluster { private Admin admin; private final Connection connection; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/HBaseClusterManager.java similarity index 99% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/HBaseClusterManager.java index 2f75c731bffa..701648a0354c 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/HBaseClusterManager.java @@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.util.RetryCounterFactory; import org.apache.hadoop.util.Shell; import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,7 +44,8 @@ * servers on the remote machines (for example, the test user could be the same user as the * user the daemon is running as) */ -@InterfaceAudience.Private +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class HBaseClusterManager extends Configured implements ClusterManager { private static final String SIGKILL = "SIGKILL"; private static final String SIGSTOP = "SIGSTOP"; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/IntegrationTestBase.java similarity index 97% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/IntegrationTestBase.java index a69975c36c38..33b038139988 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/IntegrationTestBase.java @@ -29,6 +29,8 @@ import org.apache.hadoop.hbase.chaos.factories.MonkeyFactory; import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; import org.apache.hadoop.hbase.util.AbstractHBaseTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.junit.After; import org.junit.Before; import org.slf4j.Logger; @@ -44,6 +46,8 @@ * -monkeyProps <arg> The properties file for specifying chaos monkey properties. * -ncc Option to not clean up the cluster at the end. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public abstract class IntegrationTestBase extends AbstractHBaseTool { public static final String NO_CLUSTER_CLEANUP_LONG_OPT = "noClusterCleanUp"; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java similarity index 97% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java index a9e555eaec95..ff175ea4a483 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java @@ -21,6 +21,8 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.util.ReflectionUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** * Facility for integration/system tests. This extends {@link HBaseTestingUtility} @@ -39,6 +41,8 @@ * via {@link #initializeCluster(int)}. Individual tests should not directly call * {@link #setUseDistributedCluster(Configuration)}. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class IntegrationTestingUtility extends HBaseTestingUtility { public IntegrationTestingUtility() { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/Action.java similarity index 98% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/Action.java index 1120ae4f6ba3..df6dd101d47e 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/Action.java @@ -33,6 +33,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.ClusterMetrics; import org.apache.hadoop.hbase.HBaseCluster; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.IntegrationTestBase; @@ -49,12 +50,16 @@ import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * A (possibly mischievous) action that the ChaosMonkey can perform. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class Action { public static final String KILL_MASTER_TIMEOUT_KEY = diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/AddCPULoadAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/AddCPULoadAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/AddCPULoadAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/AddCPULoadAction.java index 9d6437e431ba..f619a3518cf8 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/AddCPULoadAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/AddCPULoadAction.java @@ -20,14 +20,19 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that adds high cpu load to a random regionserver for a given duration */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class AddCPULoadAction extends SudoCommandAction { protected static final Logger LOG = LoggerFactory.getLogger(AddCPULoadAction.class); private static final String CPU_LOAD_COMMAND = diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/AddColumnAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/AddColumnAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/AddColumnAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/AddColumnAction.java index a01222aee945..a4a2cf3b6813 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/AddColumnAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/AddColumnAction.java @@ -21,18 +21,23 @@ import java.io.IOException; import org.apache.commons.lang3.RandomStringUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder; import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action the adds a column family to a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class AddColumnAction extends Action { private final TableName tableName; private Admin admin; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/BatchRestartRsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/BatchRestartRsAction.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/BatchRestartRsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/BatchRestartRsAction.java index 2026a913a525..beead72aa30a 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/BatchRestartRsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/BatchRestartRsAction.java @@ -22,14 +22,19 @@ import java.util.List; import java.util.Set; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Restarts a ratio of the running regionservers at the same time */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class BatchRestartRsAction extends RestartActionBaseAction { float ratio; //ratio of regionservers to restart private static final Logger LOG = diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeBloomFilterAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeBloomFilterAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeBloomFilterAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeBloomFilterAction.java index e76675aa4b1c..74adcb077d2d 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeBloomFilterAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeBloomFilterAction.java @@ -20,9 +20,12 @@ import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.regionserver.BloomType; import org.apache.hadoop.hbase.util.BloomFilterUtil; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,6 +33,8 @@ * Action that tries to adjust the bloom filter setting on all the columns of a * table */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ChangeBloomFilterAction extends Action { private final long sleepTime; private final TableName tableName; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java index 533028428f67..afac8af23e1b 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java @@ -21,15 +21,20 @@ import java.io.IOException; import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.io.compress.Compression.Algorithm; import org.apache.hadoop.io.compress.Compressor; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that changes the compression algorithm on a column family from a list of tables. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ChangeCompressionAction extends Action { private final TableName tableName; private final Random random; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeEncodingAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeEncodingAction.java similarity index 89% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeEncodingAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeEncodingAction.java index 55a308ce3868..6b32b30249b1 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeEncodingAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeEncodingAction.java @@ -21,14 +21,19 @@ import java.io.IOException; import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that changes the encoding on a column family from a list of tables. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ChangeEncodingAction extends Action { private final TableName tableName; private final Random random; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeSplitPolicyAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeSplitPolicyAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeSplitPolicyAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeSplitPolicyAction.java index 72ff50fc0929..d3558bbe6fe2 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeSplitPolicyAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeSplitPolicyAction.java @@ -19,6 +19,7 @@ import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; @@ -27,9 +28,13 @@ import org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy; import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy; import org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ChangeSplitPolicyAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(ChangeSplitPolicyAction.class); private final TableName tableName; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeVersionsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeVersionsAction.java similarity index 88% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeVersionsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeVersionsAction.java index 18dba94a3031..7af5dd7e1fc0 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeVersionsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ChangeVersionsAction.java @@ -21,7 +21,10 @@ import java.io.IOException; import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.TableName; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,6 +33,8 @@ * * Always keeps at least 1 as the number of versions. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ChangeVersionsAction extends Action { private final TableName tableName; private static final Logger LOG = LoggerFactory.getLogger(ChangeVersionsAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactMobAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactMobAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactMobAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactMobAction.java index 6ac71d5739a0..f5ce538fc150 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactMobAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactMobAction.java @@ -19,16 +19,21 @@ package org.apache.hadoop.hbase.chaos.actions; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.CompactType; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that queues a table compaction. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CompactMobAction extends Action { private final TableName tableName; private final int majorRatio; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactRandomRegionOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactRandomRegionOfTableAction.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactRandomRegionOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactRandomRegionOfTableAction.java index 9a46147014c6..48aacd4b23e4 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactRandomRegionOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactRandomRegionOfTableAction.java @@ -21,17 +21,22 @@ import java.util.List; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Region that queues a compaction of a random region from the table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CompactRandomRegionOfTableAction extends Action { private final int majorRatio; private final long sleepTime; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactTableAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactTableAction.java index c05d43b89f57..abaeac577f15 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CompactTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CompactTableAction.java @@ -19,15 +19,20 @@ package org.apache.hadoop.hbase.chaos.actions; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that queues a table compaction. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CompactTableAction extends Action { private final TableName tableName; private final int majorRatio; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CorruptDataFilesAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CorruptDataFilesAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CorruptDataFilesAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CorruptDataFilesAction.java index 83e8fe08a495..2246a24946b3 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CorruptDataFilesAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CorruptDataFilesAction.java @@ -24,14 +24,19 @@ import org.apache.hadoop.fs.LocatedFileStatus; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.RemoteIterator; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.io.hfile.HFile; import org.apache.hadoop.hbase.util.CommonFSUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action corrupts HFiles with a certain chance. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CorruptDataFilesAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(CorruptDataFilesAction.class); private float chance; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CorruptPacketsCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CorruptPacketsCommandAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CorruptPacketsCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CorruptPacketsCommandAction.java index 965bcbb6d417..da68f4adf291 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/CorruptPacketsCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/CorruptPacketsCommandAction.java @@ -20,8 +20,11 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +32,8 @@ * * Corrupt network packets on a random regionserver. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CorruptPacketsCommandAction extends TCCommandAction { private static final Logger LOG = LoggerFactory.getLogger(CorruptPacketsCommandAction.class); private float ratio; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DecreaseMaxHFileSizeAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DecreaseMaxHFileSizeAction.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DecreaseMaxHFileSizeAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DecreaseMaxHFileSizeAction.java index 4610ef0de7de..85970c9e8544 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DecreaseMaxHFileSizeAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DecreaseMaxHFileSizeAction.java @@ -21,12 +21,17 @@ import java.io.IOException; import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DecreaseMaxHFileSizeAction extends Action { private static final long minFileSize = 1 * 1024 * 1024 * 1024L; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DelayPacketsCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DelayPacketsCommandAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DelayPacketsCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DelayPacketsCommandAction.java index 38578d8690e3..e11c1e4c73f5 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DelayPacketsCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DelayPacketsCommandAction.java @@ -20,14 +20,19 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action adds latency to communication on a random regionserver. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DelayPacketsCommandAction extends TCCommandAction { private static final Logger LOG = LoggerFactory.getLogger(DelayPacketsCommandAction.class); private long delay; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DeleteDataFilesAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DeleteDataFilesAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DeleteDataFilesAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DeleteDataFilesAction.java index 4919adce490c..f3cc138187fa 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DeleteDataFilesAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DeleteDataFilesAction.java @@ -23,14 +23,19 @@ import org.apache.hadoop.fs.LocatedFileStatus; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.RemoteIterator; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.io.hfile.HFile; import org.apache.hadoop.hbase.util.CommonFSUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action deletes HFiles with a certain chance. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DeleteDataFilesAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(DeleteDataFilesAction.class); private float chance; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DumpClusterStatusAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DumpClusterStatusAction.java similarity index 84% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DumpClusterStatusAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DumpClusterStatusAction.java index 3c70af0349c0..640a0d51a06f 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DumpClusterStatusAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DumpClusterStatusAction.java @@ -20,12 +20,17 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action to dump the cluster status. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DumpClusterStatusAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(DumpClusterStatusAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DuplicatePacketsCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DuplicatePacketsCommandAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DuplicatePacketsCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DuplicatePacketsCommandAction.java index 7ed74ec4cde4..37dbe6e0364c 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/DuplicatePacketsCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/DuplicatePacketsCommandAction.java @@ -20,8 +20,11 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +32,8 @@ * * Duplicate network packets on a random regionserver. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DuplicatePacketsCommandAction extends TCCommandAction { private static final Logger LOG = LoggerFactory.getLogger(DuplicatePacketsCommandAction.class); private float ratio; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FillDiskCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FillDiskCommandAction.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FillDiskCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FillDiskCommandAction.java index f5ca1d7f1944..7707e4523711 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FillDiskCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FillDiskCommandAction.java @@ -20,8 +20,11 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +32,8 @@ * * Fill the disk on a random regionserver. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class FillDiskCommandAction extends SudoCommandAction { private static final Logger LOG = LoggerFactory.getLogger(FillDiskCommandAction.class); private long size; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FlushRandomRegionOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FlushRandomRegionOfTableAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FlushRandomRegionOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FlushRandomRegionOfTableAction.java index 083423c4ca99..045038746dea 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FlushRandomRegionOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FlushRandomRegionOfTableAction.java @@ -19,17 +19,22 @@ package org.apache.hadoop.hbase.chaos.actions; import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to flush a random region of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class FlushRandomRegionOfTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(FlushRandomRegionOfTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FlushTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FlushTableAction.java similarity index 89% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FlushTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FlushTableAction.java index 93f7347ac93d..053243f2aab2 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/FlushTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/FlushTableAction.java @@ -18,15 +18,20 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to flush a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class FlushTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(FlushTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ForceBalancerAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ForceBalancerAction.java similarity index 83% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ForceBalancerAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ForceBalancerAction.java index d75475432a12..51870de1ae62 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ForceBalancerAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ForceBalancerAction.java @@ -18,12 +18,17 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to force a balancer run. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ForceBalancerAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(ForceBalancerAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/GracefulRollingRestartRsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/GracefulRollingRestartRsAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/GracefulRollingRestartRsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/GracefulRollingRestartRsAction.java index 82005bbbd4e7..224cd3eb844e 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/GracefulRollingRestartRsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/GracefulRollingRestartRsAction.java @@ -22,9 +22,12 @@ import java.util.Arrays; import java.util.List; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.util.RegionMover; import org.apache.hadoop.util.Shell; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,6 +35,8 @@ * Gracefully restarts every regionserver in a rolling fashion. At each step, it unloads, * restarts the loads every rs server sleeping randomly (0-sleepTime) in between servers. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class GracefulRollingRestartRsAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(GracefulRollingRestartRsAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/LosePacketsCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/LosePacketsCommandAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/LosePacketsCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/LosePacketsCommandAction.java index 8b09daf4cf88..7a982aace66f 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/LosePacketsCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/LosePacketsCommandAction.java @@ -20,8 +20,11 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +32,8 @@ * * Lose network packets on a random regionserver. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class LosePacketsCommandAction extends TCCommandAction { private static final Logger LOG = LoggerFactory.getLogger(LosePacketsCommandAction.class); private float ratio; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MergeRandomAdjacentRegionsOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MergeRandomAdjacentRegionsOfTableAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MergeRandomAdjacentRegionsOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MergeRandomAdjacentRegionsOfTableAction.java index 085413d6e6fa..f784c4e04bf1 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MergeRandomAdjacentRegionsOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MergeRandomAdjacentRegionsOfTableAction.java @@ -20,16 +20,21 @@ import java.util.List; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action to merge regions of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class MergeRandomAdjacentRegionsOfTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(MergeRandomAdjacentRegionsOfTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRandomRegionOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MoveRandomRegionOfTableAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRandomRegionOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MoveRandomRegionOfTableAction.java index cdd2f20aed82..ba140cf6ceae 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRandomRegionOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MoveRandomRegionOfTableAction.java @@ -20,17 +20,22 @@ import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to move a random region of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class MoveRandomRegionOfTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(MoveRandomRegionOfTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java similarity index 93% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java index 1c1f07b3df58..1aff0f88f317 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java @@ -24,17 +24,22 @@ import java.util.List; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.chaos.factories.MonkeyConstants; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to move every region of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class MoveRegionsOfTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(MoveRegionsOfTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RemoveColumnAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RemoveColumnAction.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RemoveColumnAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RemoveColumnAction.java index 37e540104d68..3adbda90d314 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RemoveColumnAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RemoveColumnAction.java @@ -22,18 +22,23 @@ import java.util.Random; import java.util.Set; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that removes a column family. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RemoveColumnAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(RemoveColumnAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ReorderPacketsCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ReorderPacketsCommandAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ReorderPacketsCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ReorderPacketsCommandAction.java index 1bb7969bb707..afe7b8f74357 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ReorderPacketsCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/ReorderPacketsCommandAction.java @@ -20,8 +20,11 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +32,8 @@ * * Reorder network packets on a random regionserver. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class ReorderPacketsCommandAction extends TCCommandAction { private static final Logger LOG = LoggerFactory.getLogger(ReorderPacketsCommandAction.class); private float ratio; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActionBaseAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActionBaseAction.java similarity index 94% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActionBaseAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActionBaseAction.java index c53de9082261..da891a30bab3 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActionBaseAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActionBaseAction.java @@ -20,14 +20,19 @@ import java.io.IOException; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.util.Threads; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Base class for restarting HBaseServer's */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartActionBaseAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(RestartActionBaseAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveMasterAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveMasterAction.java similarity index 85% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveMasterAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveMasterAction.java index ddd719a6e67a..bfe2802e831d 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveMasterAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveMasterAction.java @@ -18,13 +18,18 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to restart the active master. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartActiveMasterAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartActionBaseAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveNameNodeAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveNameNodeAction.java similarity index 93% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveNameNodeAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveNameNodeAction.java index 2fc64e68a2cf..f1c141afb7ec 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveNameNodeAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartActiveNameNodeAction.java @@ -21,6 +21,7 @@ import java.util.List; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper; @@ -30,12 +31,16 @@ import org.apache.hadoop.hdfs.DFSUtil; import org.apache.hadoop.hdfs.HAUtil; import org.apache.hadoop.hdfs.server.namenode.ha.proto.HAZKInfoProtos.ActiveNodeInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to restart the active namenode. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartActiveNameNodeAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartActiveNameNodeAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomDataNodeAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomDataNodeAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomDataNodeAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomDataNodeAction.java index 5824a42fca8c..9a2a173db898 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomDataNodeAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomDataNodeAction.java @@ -22,6 +22,7 @@ import java.util.LinkedList; import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.util.FSUtils; @@ -29,12 +30,16 @@ import org.apache.hadoop.hdfs.DistributedFileSystem; import org.apache.hadoop.hdfs.protocol.DatanodeInfo; import org.apache.hadoop.hdfs.protocol.HdfsConstants; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that restarts a random datanode. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartRandomDataNodeAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartRandomDataNodeAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsAction.java similarity index 86% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsAction.java index 48458b68dcf4..1bc6223c674b 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsAction.java @@ -18,14 +18,19 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that restarts a random HRegionServer */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartRandomRsAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartRandomRsAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsExceptMetaAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsExceptMetaAction.java similarity index 85% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsExceptMetaAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsExceptMetaAction.java index b78144a1ca2f..13ac37eaabca 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsExceptMetaAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomRsExceptMetaAction.java @@ -18,9 +18,14 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartRandomRsExceptMetaAction extends RestartRandomRsAction { public RestartRandomRsExceptMetaAction(long sleepTime) { super(sleepTime); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomZKNodeAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomZKNodeAction.java similarity index 86% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomZKNodeAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomZKNodeAction.java index 3ed7a0d92379..560ebe3ac0ee 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomZKNodeAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRandomZKNodeAction.java @@ -18,15 +18,20 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.zookeeper.ZKServerTool; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that restarts a random zookeeper node. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartRandomZKNodeAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartRandomZKNodeAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingMetaAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingMetaAction.java similarity index 88% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingMetaAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingMetaAction.java index aeecf0a891fe..97adc059492f 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingMetaAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingMetaAction.java @@ -19,13 +19,18 @@ package org.apache.hadoop.hbase.chaos.actions; import org.apache.hadoop.hbase.ClusterMetrics; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to restart the HRegionServer holding Meta. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartRsHoldingMetaAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartRsHoldingMetaAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingTableAction.java similarity index 87% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingTableAction.java index a63c672db39e..80b4c5a81373 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RestartRsHoldingTableAction.java @@ -21,14 +21,19 @@ import java.util.List; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HRegionLocation; import org.apache.hadoop.hbase.client.RegionLocator; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that restarts an HRegionServer holding one of the regions of the table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RestartRsHoldingTableAction extends RestartActionBaseAction { private static final Logger LOG = LoggerFactory.getLogger(RestartRsHoldingTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchRestartRsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchRestartRsAction.java similarity index 95% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchRestartRsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchRestartRsAction.java index c76fcb1904f3..d57153960657 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchRestartRsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchRestartRsAction.java @@ -25,8 +25,11 @@ import java.util.Queue; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +39,8 @@ * The parameter maxDeadServers limits the maximum number of servers that * can be down at the same time during rolling restarts. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RollingBatchRestartRsAction extends BatchRestartRsAction { private static final Logger LOG = LoggerFactory.getLogger(RollingBatchRestartRsAction.class); protected int maxDeadServers; // number of maximum dead servers at any given time. Defaults to 5 diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchSuspendResumeRsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchSuspendResumeRsAction.java similarity index 94% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchSuspendResumeRsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchSuspendResumeRsAction.java index d4ad3e40b5f8..81f38b7ea6a7 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchSuspendResumeRsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/RollingBatchSuspendResumeRsAction.java @@ -24,10 +24,13 @@ import java.util.Queue; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.util.Shell; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,6 +40,8 @@ * maxSuspendedServers limits the maximum number of servers that can be down at the same time * during rolling restarts. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class RollingBatchSuspendResumeRsAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(RollingBatchSuspendResumeRsAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SnapshotTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SnapshotTableAction.java similarity index 89% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SnapshotTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SnapshotTableAction.java index 6ee9b57b8a7c..119ea7b61ffd 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SnapshotTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SnapshotTableAction.java @@ -18,15 +18,20 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to take a snapshot of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class SnapshotTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(SnapshotTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java index 10d544051601..456ec2c2d35e 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java @@ -20,13 +20,17 @@ import java.io.IOException; import java.util.concurrent.ThreadLocalRandom; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class SplitAllRegionOfTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(SplitAllRegionOfTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java index b4873753bb35..a4c9edbce8dd 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java @@ -20,17 +20,22 @@ import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.RegionInfo; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to split a random region of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class SplitRandomRegionOfTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(SplitRandomRegionOfTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SudoCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SudoCommandAction.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SudoCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SudoCommandAction.java index 6092a5dbbc6a..10d100908557 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SudoCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/SudoCommandAction.java @@ -23,12 +23,17 @@ import org.apache.hadoop.hbase.DistributedHBaseCluster; import org.apache.hadoop.hbase.HBaseCluster; import org.apache.hadoop.hbase.HBaseClusterManager; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Base class for performing Actions based on linux commands requiring sudo privileges */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving abstract public class SudoCommandAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(SudoCommandAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/TCCommandAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/TCCommandAction.java similarity index 82% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/TCCommandAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/TCCommandAction.java index 9444f876f72a..dc8affe26396 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/TCCommandAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/TCCommandAction.java @@ -18,9 +18,15 @@ package org.apache.hadoop.hbase.chaos.actions; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; + /** * Base class for tc command actions */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving abstract public class TCCommandAction extends SudoCommandAction { protected static final String ADD = "add"; protected static final String DELETE = "del"; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.java similarity index 88% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.java index b79dafa14e82..5322f2839438 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.java @@ -20,15 +20,20 @@ import java.util.Random; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to truncate of a table. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class TruncateTableAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(TruncateTableAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceKillAndRebalanceAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceKillAndRebalanceAction.java similarity index 94% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceKillAndRebalanceAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceKillAndRebalanceAction.java index 5e5504af10ee..61f1fcf317ab 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceKillAndRebalanceAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceKillAndRebalanceAction.java @@ -26,12 +26,17 @@ import org.apache.commons.lang3.RandomUtils; import org.apache.hadoop.hbase.ClusterMetrics; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.junit.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** This action is too specific to put in ChaosMonkey; put it here */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class UnbalanceKillAndRebalanceAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(UnbalanceKillAndRebalanceAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceRegionsAction.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceRegionsAction.java similarity index 91% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceRegionsAction.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceRegionsAction.java index 3f2a3a1b518a..35779965c28d 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceRegionsAction.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/actions/UnbalanceRegionsAction.java @@ -24,13 +24,18 @@ import org.apache.commons.lang3.RandomUtils; import org.apache.hadoop.hbase.ClusterMetrics; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Action that tries to unbalance the regions of a cluster. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class UnbalanceRegionsAction extends Action { private static final Logger LOG = LoggerFactory.getLogger(UnbalanceRegionsAction.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/CalmMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/CalmMonkeyFactory.java similarity index 93% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/CalmMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/CalmMonkeyFactory.java index e10958572274..35c08bdb0e1b 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/CalmMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/CalmMonkeyFactory.java @@ -20,11 +20,12 @@ import org.apache.hadoop.hbase.chaos.monkies.CalmChaosMonkey; import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; - +import org.apache.yetus.audience.InterfaceAudience; /** * Factory to create a calm ChaosMonkey. */ +@InterfaceAudience.Private public class CalmMonkeyFactory extends MonkeyFactory { @Override public ChaosMonkey build() { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DataIssuesMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/DataIssuesMonkeyFactory.java similarity index 97% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DataIssuesMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/DataIssuesMonkeyFactory.java index 069b604ac27c..35e5ecfb72da 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DataIssuesMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/DataIssuesMonkeyFactory.java @@ -25,12 +25,14 @@ import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * A chaos monkey to delete and corrupt regionserver data, requires a user with * passwordless ssh access to the cluster and sudo privileges. * Highly destructive */ +@InterfaceAudience.Private public class DataIssuesMonkeyFactory extends MonkeyFactory { private long action1Period; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java similarity index 98% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java index fcf2605fc0af..a0475858584d 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java @@ -30,11 +30,13 @@ import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * A chaos monkey to create distributed cluster related issues, requires a user with * passwordless ssh access to the cluster and sudo privileges. */ +@InterfaceAudience.Private public class DistributedIssuesMonkeyFactory extends MonkeyFactory { private long action1Period; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MasterKillingMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MasterKillingMonkeyFactory.java similarity index 97% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MasterKillingMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MasterKillingMonkeyFactory.java index 7f81523374fe..2d303fc05cd2 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MasterKillingMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MasterKillingMonkeyFactory.java @@ -24,11 +24,13 @@ import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * A chaos monkey to kill the active master periodically. Can be run in single master * or multi master setup. */ +@InterfaceAudience.Private public class MasterKillingMonkeyFactory extends MonkeyFactory { private long action1Period; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobNoKillMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MobNoKillMonkeyFactory.java similarity index 98% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobNoKillMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MobNoKillMonkeyFactory.java index 400e59f98b1b..eecdaf6d5fb8 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobNoKillMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MobNoKillMonkeyFactory.java @@ -39,10 +39,12 @@ import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; import org.apache.hadoop.hbase.chaos.policies.TwoConcurrentActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * This is a copy of NoKillMonkeyFactory that also does mob compactions. */ +@InterfaceAudience.Private public class MobNoKillMonkeyFactory extends MonkeyFactory { @Override public ChaosMonkey build() { Action[] actions1 = new Action[] { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java similarity index 99% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java index 2ab33f4aa5d8..5b7e8338330c 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MobSlowDeterministicMonkeyFactory.java @@ -45,10 +45,12 @@ import org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy; import org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * This is a copy of SlowDeterministicMonkeyFactory that also does mob compactions. */ +@InterfaceAudience.Private public class MobSlowDeterministicMonkeyFactory extends MonkeyFactory { private long action1Period; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MonkeyConstants.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MonkeyConstants.java similarity index 95% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MonkeyConstants.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MonkeyConstants.java index 6b428991ad67..a1e27308d3c4 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MonkeyConstants.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MonkeyConstants.java @@ -20,7 +20,12 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Set; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public interface MonkeyConstants { String PERIODIC_ACTION1_PERIOD = "sdm.action1.period"; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MonkeyFactory.java similarity index 89% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MonkeyFactory.java index 73f696824403..bcb81ab43842 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/MonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/MonkeyFactory.java @@ -22,18 +22,23 @@ import java.util.Properties; import java.util.Set; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.IntegrationTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableMap; import org.apache.hadoop.hbase.util.ReflectionUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Base class of the factory that will create a ChaosMonkey. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public abstract class MonkeyFactory { private static final Logger LOG = LoggerFactory.getLogger(MonkeyFactory.class); @@ -80,7 +85,7 @@ public MonkeyFactory setProperties(Properties props) { public static final String DISTRIBUTED_ISSUES = "distributedIssues"; public static final String DATA_ISSUES = "dataIssues"; - public static Map FACTORIES = ImmutableMap.builder() + private static Map factories = ImmutableMap.builder() .put(CALM, new CalmMonkeyFactory()) .put(SLOW_DETERMINISTIC, new SlowDeterministicMonkeyFactory()) .put(UNBALANCE, new UnbalanceMonkeyFactory()) @@ -95,8 +100,12 @@ public MonkeyFactory setProperties(Properties props) { .put(DATA_ISSUES, new DataIssuesMonkeyFactory()) .build(); + private static Map getMonkeyFactoryMap() { + return factories; + } + public static MonkeyFactory getFactory(String factoryName) { - MonkeyFactory fact = FACTORIES.get(factoryName); + MonkeyFactory fact = getMonkeyFactoryMap().get(factoryName); if (fact == null && factoryName != null && !factoryName.isEmpty()) { Class klass = null; try { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/NoKillMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/NoKillMonkeyFactory.java similarity index 98% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/NoKillMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/NoKillMonkeyFactory.java index efe0fe68d460..fa941308194a 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/NoKillMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/NoKillMonkeyFactory.java @@ -39,11 +39,13 @@ import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; import org.apache.hadoop.hbase.chaos.policies.TwoConcurrentActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * Monkey factory to create a ChaosMonkey that will not need access to ssh. It will not * kill any services and it will not perform any restarts. */ +@InterfaceAudience.Private public class NoKillMonkeyFactory extends MonkeyFactory { @Override public ChaosMonkey build() { Action[] actions1 = new Action[] { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/ServerAndDependenciesKillingMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/ServerAndDependenciesKillingMonkeyFactory.java similarity index 98% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/ServerAndDependenciesKillingMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/ServerAndDependenciesKillingMonkeyFactory.java index 676b04d3fee3..f2f324da8eab 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/ServerAndDependenciesKillingMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/ServerAndDependenciesKillingMonkeyFactory.java @@ -33,11 +33,13 @@ import org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy; import org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * Creates ChaosMonkeys for doing server restart actions, but not * flush / compact / snapshot kind of actions. */ +@InterfaceAudience.Private public class ServerAndDependenciesKillingMonkeyFactory extends MonkeyFactory { private long gracefulRollingRestartTSSLeepTime; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/ServerKillingMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/ServerKillingMonkeyFactory.java similarity index 97% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/ServerKillingMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/ServerKillingMonkeyFactory.java index 6a5efeda8454..fa59c9a0f1ba 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/ServerKillingMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/ServerKillingMonkeyFactory.java @@ -31,11 +31,13 @@ import org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy; import org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; /** * Creates ChaosMonkeys for doing server restart actions, but not * flush / compact / snapshot kind of actions. */ +@InterfaceAudience.Private public class ServerKillingMonkeyFactory extends MonkeyFactory { private long gracefulRollingRestartTSSLeepTime; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/SlowDeterministicMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/SlowDeterministicMonkeyFactory.java similarity index 99% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/SlowDeterministicMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/SlowDeterministicMonkeyFactory.java index 432fd8bf0043..5301b094de8e 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/SlowDeterministicMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/SlowDeterministicMonkeyFactory.java @@ -49,7 +49,9 @@ import org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy; import org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; +@InterfaceAudience.Private public class SlowDeterministicMonkeyFactory extends MonkeyFactory { private long action1Period; private long action2Period; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/StressAssignmentManagerMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/StressAssignmentManagerMonkeyFactory.java similarity index 98% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/StressAssignmentManagerMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/StressAssignmentManagerMonkeyFactory.java index 16d6b29cae03..5a1720de1ca6 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/StressAssignmentManagerMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/StressAssignmentManagerMonkeyFactory.java @@ -43,7 +43,9 @@ import org.apache.hadoop.hbase.chaos.policies.CompositeSequentialPolicy; import org.apache.hadoop.hbase.chaos.policies.DoActionsOncePolicy; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; +import org.apache.yetus.audience.InterfaceAudience; +@InterfaceAudience.Private public class StressAssignmentManagerMonkeyFactory extends MonkeyFactory { private long gracefulRollingRestartTSSLeepTime; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/UnbalanceMonkeyFactory.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/UnbalanceMonkeyFactory.java similarity index 97% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/UnbalanceMonkeyFactory.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/UnbalanceMonkeyFactory.java index f9c818447264..5dbab39e8f5e 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/UnbalanceMonkeyFactory.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/factories/UnbalanceMonkeyFactory.java @@ -23,7 +23,9 @@ import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy; import org.apache.hadoop.hbase.chaos.policies.Policy; +import org.apache.yetus.audience.InterfaceAudience; +@InterfaceAudience.Private public class UnbalanceMonkeyFactory extends MonkeyFactory { /** How often to introduce the chaos. If too frequent, sequence of kills on minicluster * can cause test to fail when Put runs out of retries. */ diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/CalmChaosMonkey.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/CalmChaosMonkey.java similarity index 83% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/CalmChaosMonkey.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/CalmChaosMonkey.java index bcf7d85ee75a..89b7579969db 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/CalmChaosMonkey.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/CalmChaosMonkey.java @@ -18,9 +18,15 @@ package org.apache.hadoop.hbase.chaos.monkies; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; + /** * Chaos Monkey that does nothing. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CalmChaosMonkey extends ChaosMonkey { @Override public void start() throws Exception { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/ChaosMonkey.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/ChaosMonkey.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/ChaosMonkey.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/ChaosMonkey.java index 86cbfe5c612d..082254bcb6ac 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/ChaosMonkey.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/ChaosMonkey.java @@ -18,6 +18,9 @@ package org.apache.hadoop.hbase.chaos.monkies; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.apache.hadoop.hbase.Stoppable; /** @@ -41,6 +44,8 @@ * ChaosMonkey class is indeed inspired by the Netflix's same-named tool: * http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public abstract class ChaosMonkey implements Stoppable { public abstract void start() throws Exception; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/PolicyBasedChaosMonkey.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/PolicyBasedChaosMonkey.java similarity index 95% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/PolicyBasedChaosMonkey.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/PolicyBasedChaosMonkey.java index dc2ac13c396c..91698dd63eb0 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/monkies/PolicyBasedChaosMonkey.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/monkies/PolicyBasedChaosMonkey.java @@ -25,15 +25,20 @@ import java.util.Properties; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.IntegrationTestingUtility; import org.apache.hadoop.hbase.chaos.policies.Policy; import org.apache.hadoop.hbase.util.Pair; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Chaos monkey that given multiple policies will run actions against the cluster. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class PolicyBasedChaosMonkey extends ChaosMonkey { private static final Logger LOG = LoggerFactory.getLogger(PolicyBasedChaosMonkey.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/CompositeSequentialPolicy.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/CompositeSequentialPolicy.java similarity index 86% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/CompositeSequentialPolicy.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/CompositeSequentialPolicy.java index 4fefca802a17..77f878dcf933 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/CompositeSequentialPolicy.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/CompositeSequentialPolicy.java @@ -20,8 +20,13 @@ import java.util.Arrays; import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** A policy that runs multiple other policies one after the other */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class CompositeSequentialPolicy extends Policy { private List policies; public CompositeSequentialPolicy(Policy... policies) { diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/DoActionsOncePolicy.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/DoActionsOncePolicy.java similarity index 88% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/DoActionsOncePolicy.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/DoActionsOncePolicy.java index 0d8564d355bb..8076485fa1cb 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/DoActionsOncePolicy.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/DoActionsOncePolicy.java @@ -22,10 +22,15 @@ import java.util.Arrays; import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.chaos.actions.Action; import org.apache.hadoop.util.StringUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** A policy which performs a sequence of actions deterministically. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class DoActionsOncePolicy extends PeriodicPolicy { private List actions; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/PeriodicPolicy.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/PeriodicPolicy.java similarity index 88% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/PeriodicPolicy.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/PeriodicPolicy.java index 9ffef16a1a96..2c271246d513 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/PeriodicPolicy.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/PeriodicPolicy.java @@ -19,9 +19,14 @@ package org.apache.hadoop.hbase.chaos.policies; import org.apache.commons.lang3.RandomUtils; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.util.Threads; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** A policy which does stuff every time interval. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public abstract class PeriodicPolicy extends Policy { private long periodMs; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/PeriodicRandomActionPolicy.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/PeriodicRandomActionPolicy.java similarity index 90% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/PeriodicRandomActionPolicy.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/PeriodicRandomActionPolicy.java index a0dc89e0192d..988d648a2c1c 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/PeriodicRandomActionPolicy.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/PeriodicRandomActionPolicy.java @@ -22,15 +22,20 @@ import java.util.Arrays; import java.util.List; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.chaos.actions.Action; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.util.Pair; import org.apache.hadoop.util.StringUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; /** * A policy, which picks a random action according to the given weights, * and performs it every configurable period. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class PeriodicRandomActionPolicy extends PeriodicPolicy { private List> actions; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/Policy.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/Policy.java similarity index 88% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/Policy.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/Policy.java index ad68b66a4c51..4d3e46443a37 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/Policy.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/Policy.java @@ -17,18 +17,21 @@ */ package org.apache.hadoop.hbase.chaos.policies; - +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import java.util.Properties; - import org.apache.hadoop.hbase.IntegrationTestingUtility; import org.apache.hadoop.hbase.chaos.actions.Action; import org.apache.hadoop.hbase.util.StoppableImplementation; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * A policy to introduce chaos to the cluster */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public abstract class Policy extends StoppableImplementation implements Runnable { protected static final Logger LOG = LoggerFactory.getLogger(Policy.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/TwoConcurrentActionPolicy.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/TwoConcurrentActionPolicy.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/TwoConcurrentActionPolicy.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/TwoConcurrentActionPolicy.java index d801ba81b601..9661e6b9522b 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/TwoConcurrentActionPolicy.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/policies/TwoConcurrentActionPolicy.java @@ -18,10 +18,13 @@ package org.apache.hadoop.hbase.chaos.policies; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.chaos.actions.Action; import org.apache.hadoop.hbase.chaos.monkies.PolicyBasedChaosMonkey; import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.util.StringUtils; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -32,6 +35,8 @@ * Chaos Monkey policy that will run two different actions at the same time. * A random action from each array of actions will be chosen and then run in parallel. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class TwoConcurrentActionPolicy extends PeriodicPolicy { private final Action[] actionsOne; private final Action[] actionsTwo; diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java similarity index 96% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java index 504bd628dc0a..f5625c6a77ab 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java @@ -24,6 +24,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.IntegrationTestingUtility; import org.apache.hadoop.hbase.TableName; @@ -31,11 +32,15 @@ import org.apache.hadoop.hbase.chaos.monkies.ChaosMonkey; import org.apache.hadoop.hbase.util.AbstractHBaseTool; import org.apache.hadoop.util.ToolRunner; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.hbase.thirdparty.com.google.common.collect.Sets; import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; +@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.CHAOS, HBaseInterfaceAudience.TOOLS}) +@InterfaceStability.Evolving public class ChaosMonkeyRunner extends AbstractHBaseTool { private static final Logger LOG = LoggerFactory.getLogger(ChaosMonkeyRunner.class); diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/Monkeys.java b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/util/Monkeys.java similarity index 92% rename from hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/Monkeys.java rename to hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/util/Monkeys.java index acdd7b083757..debf33abf4f5 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/Monkeys.java +++ b/hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/util/Monkeys.java @@ -26,7 +26,10 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.IntegrationTestingUtility; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +39,8 @@ /** * This class can be used to control chaos monkeys life cycle. */ +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CHAOS) +@InterfaceStability.Evolving public class Monkeys implements Closeable { private static final Logger LOG = LoggerFactory.getLogger(Monkeys.class); diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml index 05813f5b0673..638ad70627ca 100644 --- a/hbase-server/pom.xml +++ b/hbase-server/pom.xml @@ -515,6 +515,33 @@ mockito-core test + + junit + junit + + + org.apache.hadoop + hadoop-mapreduce-client-jobclient + ${hadoop.version} + tests + + + com.google.code.findbugs + jsr305 + + + + + org.apache.hadoop + hadoop-minikdc + compile + + + org.apache.hadoop + hadoop-hdfs + ${hadoop.version} + tests + diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseCluster.java similarity index 99% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseCluster.java index 85dff357ca62..fdfdb86d4d96 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseCluster.java @@ -51,7 +51,7 @@ * In that sense, this class does not abstract away every interface that * MiniHBaseCluster or DistributedHBaseCluster provide. */ -@InterfaceAudience.Private +@InterfaceAudience.Public public abstract class HBaseCluster implements Closeable, Configurable { // Log is being used in DistributedHBaseCluster class, hence keeping it as package scope static final Logger LOG = LoggerFactory.getLogger(HBaseCluster.class.getName()); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java similarity index 100% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index 834fbac77c20..d312d69035d4 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -22,6 +22,7 @@ import static org.junit.Assert.fail; import edu.umd.cs.findbugs.annotations.Nullable; + import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -50,6 +51,7 @@ import java.util.TreeSet; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; + import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.logging.impl.Jdk14Logger; @@ -150,9 +152,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.impl.Log4jLoggerAdapter; - import org.apache.hbase.thirdparty.com.google.common.io.Closeables; - import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; /** diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/MiniHBaseCluster.java similarity index 100% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/MiniHBaseCluster.java diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/MockRegionServerServices.java similarity index 99% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/MockRegionServerServices.java index f0a85b580d4b..e8111026e5b8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/MockRegionServerServices.java @@ -60,6 +60,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.wal.WAL; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; +import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,6 +71,7 @@ /** * Basic mock region server services. Should only be instantiated by HBaseTestingUtility.b */ +@InterfaceAudience.Private public class MockRegionServerServices implements RegionServerServices { protected static final Logger LOG = LoggerFactory.getLogger(MockRegionServerServices.class); private final Map regions = new HashMap<>(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/StartMiniClusterOption.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/StartMiniClusterOption.java similarity index 100% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/StartMiniClusterOption.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/StartMiniClusterOption.java diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java similarity index 98% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java index 69f738741eb1..db53890871d3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java @@ -28,6 +28,7 @@ import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.JobContext; import org.apache.hadoop.mapreduce.JobID; +import org.apache.yetus.audience.InterfaceAudience; /** * This class provides shims for HBase to interact with the Hadoop 1.0.x and the @@ -35,6 +36,7 @@ * * NOTE: No testing done against 0.22.x, or 0.21.x. */ +@InterfaceAudience.Private abstract public class MapreduceTestingShim { private static MapreduceTestingShim instance; private static Class[] emptyParam = new Class[] {}; diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/AssignmentTestingUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentTestingUtil.java similarity index 100% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/AssignmentTestingUtil.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentTestingUtil.java diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/HBaseKerberosUtils.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/HBaseKerberosUtils.java similarity index 100% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/security/HBaseKerberosUtils.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/security/HBaseKerberosUtils.java index f80e5f48919b..d73411e01ea6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/HBaseKerberosUtils.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/HBaseKerberosUtils.java @@ -29,12 +29,12 @@ import org.apache.hadoop.hbase.http.ssl.KeyStoreTestUtil; import org.apache.hadoop.hdfs.DFSConfigKeys; import org.apache.hadoop.http.HttpConfig; +import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.hbase.thirdparty.com.google.common.base.Strings; -import org.apache.hadoop.security.UserGroupInformation; @InterfaceAudience.Private public class HBaseKerberosUtils { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/StoppableImplementation.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/StoppableImplementation.java similarity index 100% rename from hbase-server/src/test/java/org/apache/hadoop/hbase/util/StoppableImplementation.java rename to hbase-server/src/main/java/org/apache/hadoop/hbase/util/StoppableImplementation.java diff --git a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/HBaseZKTestingUtility.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/HBaseZKTestingUtility.java similarity index 100% rename from hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/HBaseZKTestingUtility.java rename to hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/HBaseZKTestingUtility.java