HBASE-20212 Make all Public classes have InterfaceAudience category
authorChia-Ping Tsai <chia7712@gmail.com>
Tue, 20 Mar 2018 07:46:51 +0000 (15:46 +0800)
committerChia-Ping Tsai <chia7712@gmail.com>
Thu, 22 Mar 2018 10:10:23 +0000 (18:10 +0800)
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
220 files changed:
hbase-annotations/pom.xml
hbase-backup/pom.xml
hbase-client/pom.xml
hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java [deleted file]
hbase-common/pom.xml
hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java
hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONBean.java
hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONMetricUtil.java
hbase-endpoint/pom.xml
hbase-examples/pom.xml
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/BufferedMutatorExample.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/ExportEndpointExample.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/MultiThreadedClientExample.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/RefreshHFilesClient.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/DelegatingInternalScanner.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ValueRewritingObserver.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/IndexBuilder.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/SampleUploader.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift2/DemoClient.java
hbase-examples/src/main/java/org/apache/hadoop/hbase/types/PBCell.java
hbase-external-blockcache/pom.xml
hbase-hadoop-compat/pom.xml
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilityFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilitySingletonFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapper.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshotSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/JvmPauseMonitorSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/MBeanSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/OperationMetrics.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionAggregateSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/rest/MetricsRESTSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricHistogram.java
hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricsExecutor.java
hbase-hadoop2-compat/pom.xml
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSourceImpl.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSourceImpl.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/HBaseMetrics2HadoopMetricsAdapter.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableFastCounter.java
hbase-http/pom.xml
hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterContainer.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterInitializer.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/HtmlQuoting.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLogAppender.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.java
hbase-http/src/main/java/org/apache/hadoop/hbase/http/log/LogLevel.java
hbase-it/pom.xml
hbase-mapreduce/pom.xml
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileInputFormat.java
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HashTable.java
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/JarFinder.java
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java
hbase-metrics-api/pom.xml
hbase-metrics/pom.xml
hbase-procedure/pom.xml
hbase-protocol-shaded/pom.xml
hbase-protocol/pom.xml
hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java
hbase-replication/pom.xml
hbase-rest/pom.xml
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/ProtobufStreamingOutput.java
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java
hbase-rsgroup/pom.xml
hbase-server/pom.xml
hbase-server/src/main/java/org/apache/hadoop/hbase/DaemonThreadFactory.java
hbase-server/src/main/java/org/apache/hadoop/hbase/HealthCheckChore.java
hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java
hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIClientSocketFactorySecure.java
hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIServerSocketFactorySecure.java
hbase-server/src/main/java/org/apache/hadoop/hbase/ZNodeClearer.java
hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/HFileArchiveTableMonitor.java
hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java
hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIO.java
hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapperImpl.java
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/AgeSnapshot.java
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockPriority.java
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockWithScanInfo.java
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/EmptyServiceNameException.java
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/QosPriority.java
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/UnknownServiceException.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManager.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystem.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshot.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancer.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/CleanerChore.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.java
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.java
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Subprocedure.java
hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.java
hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.java
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DumpRegionServerMetrics.java
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionRequest.java
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/BulkLoadCellFilter.java
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.java
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityReplication.java
hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/HFileArchiveUtil.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/RollingStatCalculator.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/ShutdownHookManager.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/YammerHistogramUtils.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.java
hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NettyAsyncFSWALConfigHelper.java
hbase-shell/pom.xml
hbase-spark-it/pom.xml
hbase-spark/pom.xml
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkDeleteExample.java
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkGetExample.java
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkLoadExample.java
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkPutExample.java
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseDistributedScan.java
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseMapGetPutExample.java
hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseStreamingBulkPutExample.java
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseConnectionCache.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/Logging.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/datasources/HBaseTableScanRDD.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/datasources/SerDes.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/datasources/package.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/datasources/AvroSource.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/datasources/DataType.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/datasources/HBaseSource.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseBulkDeleteExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseBulkGetExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseBulkPutExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseBulkPutExampleFromFile.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseBulkPutTimestampExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseDistributedScanExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/hbasecontext/HBaseStreamingBulkPutExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/rdd/HBaseBulkDeleteExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/rdd/HBaseBulkGetExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/rdd/HBaseBulkPutExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/rdd/HBaseForeachPartitionExample.scala
hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/example/rdd/HBaseMapPartitionExample.scala
hbase-spark/src/main/scala/org/apache/spark/sql/datasources/hbase/DataTypeParserWrapper.scala
hbase-thrift/pom.xml
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/HttpAuthenticationException.java
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescer.java
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.java
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/THBaseThreadPoolExecutor.java
hbase-zookeeper/pom.xml
hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.java
pom.xml

index a4aa7a1..68229b7 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 </project>
index a0c5445..24d182a 100644 (file)
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-source-plugin</artifactId>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index dffa892..f6247e3 100644 (file)
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-source-plugin</artifactId>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
deleted file mode 100644 (file)
index 493e23a..0000000
+++ /dev/null
@@ -1,540 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hbase;
-
-import java.io.IOException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-import org.apache.hadoop.hbase.ClassFinder.And;
-import org.apache.hadoop.hbase.ClassFinder.FileNameFilter;
-import org.apache.hadoop.hbase.ClassFinder.Not;
-import org.apache.hadoop.hbase.ClassTestFinder.TestClassFilter;
-import org.apache.hadoop.hbase.ClassTestFinder.TestFileNameFilter;
-import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.apache.hadoop.hbase.util.Pair;
-import org.apache.hadoop.hbase.util.Triple;
-import org.apache.yetus.audience.InterfaceAudience;
-import org.apache.yetus.audience.InterfaceStability;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Test cases for ensuring our client visible classes have annotations for
- * {@link InterfaceAudience}.
- * <p>
- * All classes in hbase-client and hbase-common module MUST have InterfaceAudience annotations.
- * Think twice about marking an interface InterfaceAudience.Public. Make sure that it is an
- * interface, not a class (for most cases), and clients will actually depend on it. Once something
- * is marked with Public, we cannot change the signatures within the major release. NOT everything
- * in the hbase-client module or every java public class has to be marked with
- * InterfaceAudience.Public. ONLY the ones that an hbase application will directly use (Table, Get,
- * etc, versus ProtobufUtil). And also, InterfaceAudience.Public annotated classes MUST NOT have
- * InterfaceStability annotations. The stability of these classes only depends on versioning.
- * <p>
- * All classes which are marked as InterfaceAudience.LimitedPrivate MUST also have
- * InterfaceStability annotations. The only exception is HBaseInterfaceAudience.CONFIG. It is used
- * to indicate that the class name will be exposed in user facing configuration files.
- * <p>
- * Also note that HBase has it's own annotations in hbase-annotations module with the same names as
- * in Hadoop. You should use the HBase's classes.
- * <p>
- * See
- * https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/InterfaceClassification.html
- * and https://issues.apache.org/jira/browse/HBASE-10462.
- */
-@Category(SmallTests.class)
-public class TestInterfaceAudienceAnnotations {
-
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-      HBaseClassTestRule.forClass(TestInterfaceAudienceAnnotations.class);
-
-  private static final String HBASE_PROTOBUF = "org.apache.hadoop.hbase.protobuf.generated";
-  private static final Logger LOG = LoggerFactory.getLogger(TestInterfaceAudienceAnnotations.class);
-
-  /** Selects classes with generated in their package name */
-  static class GeneratedClassFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      return c.getPackage().getName().contains("generated");
-    }
-  }
-
-  static class ShadedProtobufClassFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      return c.getPackage().getName().
-          contains("org.apache.hbase.thirdparty.com.google.protobuf");
-    }
-  }
-
-  /** Selects classes with one of the {@link InterfaceAudience} annotation in their class
-   * declaration.
-   */
-  class InterfaceAudienceAnnotatedClassFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      if (getAnnotation(c) != null) {
-        // class itself has a declared annotation.
-        return true;
-      }
-
-      // If this is an internal class, look for the encapsulating class to see whether it has
-      // annotation. All inner classes of private classes are considered annotated.
-      return isAnnotatedPrivate(c.getEnclosingClass());
-    }
-
-    private boolean isAnnotatedPrivate(Class<?> c) {
-      if (c == null) {
-        return false;
-      }
-
-      Annotation ann = getAnnotation(c);
-      if (ann != null && !InterfaceAudience.Public.class.equals(ann.annotationType())) {
-        return true;
-      }
-
-      return isAnnotatedPrivate(c.getEnclosingClass());
-    }
-
-    protected Annotation getAnnotation(Class<?> c) {
-      // we should get only declared annotations, not inherited ones
-      Annotation[] anns = c.getDeclaredAnnotations();
-
-      for (Annotation ann : anns) {
-        // Hadoop clearly got it wrong for not making the annotation values (private, public, ..)
-        // an enum instead we have three independent annotations!
-        Class<?> type = ann.annotationType();
-        if (isInterfaceAudienceClass(type)) {
-          return ann;
-        }
-      }
-      return null;
-    }
-  }
-
-  /** Selects classes with one of the {@link InterfaceStability} annotation in their class
-   * declaration.
-   */
-  class InterfaceStabilityAnnotatedClassFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      if (getAnnotation(c) != null) {
-        // class itself has a declared annotation.
-        return true;
-      }
-      return false;
-    }
-
-    protected Class<?> getAnnotation(Class<?> c) {
-      // we should get only declared annotations, not inherited ones
-      Annotation[] anns = c.getDeclaredAnnotations();
-
-      for (Annotation ann : anns) {
-        // Hadoop clearly got it wrong for not making the annotation values (private, public, ..)
-        // an enum instead we have three independent annotations!
-        Class<?> type = ann.annotationType();
-        if (isInterfaceStabilityClass(type)) {
-          return type;
-        }
-      }
-      return null;
-    }
-  }
-
-  /**
-   * Selects classes with one of the {@link InterfaceAudience.Public} annotation in their class
-   * declaration.
-   */
-  class InterfaceAudiencePublicAnnotatedClassFilter extends InterfaceAudienceAnnotatedClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      Annotation ann = getAnnotation(c);
-      return ann != null && InterfaceAudience.Public.class.equals(ann.annotationType());
-    }
-  }
-
-  /**
-   * Selects classes with one of the {@link InterfaceAudience.LimitedPrivate} annotation in their
-   * class declaration.
-   */
-  class InterfaceAudienceLimitedPrivateAnnotatedNotConfigClassFilter
-      extends InterfaceAudienceAnnotatedClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      Annotation ann = getAnnotation(c);
-      if (ann == null || !InterfaceAudience.LimitedPrivate.class.equals(ann.annotationType())) {
-        return false;
-      }
-      InterfaceAudience.LimitedPrivate iaAnn = (InterfaceAudience.LimitedPrivate) ann;
-      return iaAnn.value().length == 0 || !HBaseInterfaceAudience.CONFIG.equals(iaAnn.value()[0]);
-    }
-  }
-
-  /**
-   * Selects InterfaceAudience or InterfaceStability classes. Don't go meta!!!
-   */
-  class IsInterfaceStabilityClassFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      return
-          isInterfaceAudienceClass(c) ||
-          isInterfaceStabilityClass(c);
-    }
-  }
-
-  private boolean isInterfaceAudienceClass(Class<?> c) {
-    return
-        c.equals(InterfaceAudience.Public.class) ||
-        c.equals(InterfaceAudience.Private.class) ||
-        c.equals(InterfaceAudience.LimitedPrivate.class);
-  }
-
-  private boolean isInterfaceStabilityClass(Class<?> c) {
-    return
-        c.equals(InterfaceStability.Stable.class) ||
-        c.equals(InterfaceStability.Unstable.class) ||
-        c.equals(InterfaceStability.Evolving.class);
-  }
-
-  private boolean isInterfacePrivateMethod(Method m) {
-    if(m.getDeclaredAnnotations().length > 0) {
-      for(Annotation ann : m.getDeclaredAnnotations()) {
-        if(ann.annotationType().equals(InterfaceAudience.Private.class)) {
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-
-  private boolean isInterfacePrivateContructor(Constructor<?> c) {
-    if(c.getDeclaredAnnotations().length > 0) {
-      for(Annotation ann : c.getDeclaredAnnotations()) {
-        if(ann.annotationType().equals(InterfaceAudience.Private.class)) {
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-
-  /** Selects classes that are declared public */
-  static class PublicClassFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> c) {
-      int mod = c.getModifiers();
-      return Modifier.isPublic(mod);
-    }
-  }
-
-  /** Selects paths (jars and class dirs) only from the main code, not test classes */
-  static class MainCodeResourcePathFilter implements ClassFinder.ResourcePathFilter {
-    @Override
-    public boolean isCandidatePath(String resourcePath, boolean isJar) {
-      return !resourcePath.contains("test-classes") &&
-          !resourcePath.contains("tests.jar");
-    }
-  }
-
-  /**
-   * Selects classes that appear to be source instrumentation from Clover.
-   * Clover generates instrumented code in order to calculate coverage. Part of the
-   * generated source is a static inner class on each source class.
-   *
-   * - has an enclosing class
-   * - enclosing class is not an interface
-   * - name starts with "__CLR"
-   */
-  static class CloverInstrumentationFilter implements ClassFinder.ClassFilter {
-    @Override
-    public boolean isCandidateClass(Class<?> clazz) {
-      boolean clover = false;
-      final Class<?> enclosing = clazz.getEnclosingClass();
-      if (enclosing != null) {
-        if (!(enclosing.isInterface())) {
-          clover = clazz.getSimpleName().startsWith("__CLR");
-        }
-      }
-      return clover;
-    }
-  }
-
-  /**
-   * Checks whether all the classes in client and common modules contain
-   * {@link InterfaceAudience} annotations.
-   */
-  @Ignore @Test
-  public void testInterfaceAudienceAnnotation()
-      throws ClassNotFoundException, IOException, LinkageError {
-
-    // find classes that are:
-    // In the main jar
-    // AND are not in a hadoop-compat module
-    // AND are public
-    // NOT test classes
-    // AND NOT generated classes
-    // AND are NOT annotated with InterfaceAudience
-    // AND are NOT from Clover rewriting sources
-    ClassFinder classFinder = new ClassFinder(
-      new And(new MainCodeResourcePathFilter(),
-              new TestFileNameFilter()),
-      new Not((FileNameFilter)new TestFileNameFilter()),
-      new And(new PublicClassFilter(),
-              new Not(new TestClassFilter()),
-              new Not(new GeneratedClassFilter()),
-              new Not(new ShadedProtobufClassFilter()),
-              new Not(new IsInterfaceStabilityClassFilter()),
-              new Not(new InterfaceAudienceAnnotatedClassFilter()),
-              new Not(new CloverInstrumentationFilter()))
-    );
-
-    Set<Class<?>> classes = classFinder.findClasses(false);
-    if (!classes.isEmpty()) {
-      LOG.info("These are the classes that DO NOT have @InterfaceAudience annotation:");
-      for (Class<?> clazz : classes) {
-        LOG.info(Objects.toString(clazz));
-      }
-    }
-
-    Assert.assertEquals("All classes should have @InterfaceAudience annotation",
-      0, classes.size());
-  }
-
-  /**
-   * Checks whether all the classes in client and common modules that are marked
-   * InterfaceAudience.Public do not have {@link InterfaceStability} annotations.
-   */
-  @Ignore @Test
-  public void testNoInterfaceStabilityAnnotationForPublicAPI()
-      throws ClassNotFoundException, IOException, LinkageError {
-
-    // find classes that are:
-    // In the main jar
-    // AND are not in a hadoop-compat module
-    // AND are public
-    // NOT test classes
-    // AND NOT generated classes
-    // AND are annotated with InterfaceAudience.Public
-    // AND annotated with InterfaceStability
-    ClassFinder classFinder = new ClassFinder(
-      new And(new MainCodeResourcePathFilter(),
-              new TestFileNameFilter()),
-      new Not((FileNameFilter)new TestFileNameFilter()),
-      new And(new PublicClassFilter(),
-              new Not(new TestClassFilter()),
-              new Not(new GeneratedClassFilter()),
-              new Not(new ShadedProtobufClassFilter()),
-              new InterfaceAudiencePublicAnnotatedClassFilter(),
-              new Not(new IsInterfaceStabilityClassFilter()),
-              new InterfaceStabilityAnnotatedClassFilter())
-    );
-
-    Set<Class<?>> classes = classFinder.findClasses(false);
-
-    if (!classes.isEmpty()) {
-      LOG.info("These are the @InterfaceAudience.Public classes that have @InterfaceStability " +
-          "annotation:");
-      for (Class<?> clazz : classes) {
-        LOG.info(Objects.toString(clazz));
-      }
-    }
-
-    Assert.assertEquals("All classes that are marked with @InterfaceAudience.Public should not "
-        + "have @InterfaceStability annotation",
-      0, classes.size());
-  }
-
-  /**
-   * Checks whether all the classes in client and common modules that are marked
-   * InterfaceAudience.Public do not have {@link InterfaceStability} annotations.
-   */
-  @Ignore
-  @Test
-  public void testInterfaceStabilityAnnotationForLimitedAPI()
-      throws ClassNotFoundException, IOException, LinkageError {
-
-    // find classes that are:
-    // In the main jar
-    // AND are not in a hadoop-compat module
-    // AND are public
-    // NOT test classes
-    // AND NOT generated classes
-    // AND are annotated with InterfaceAudience.LimitedPrivate
-    // AND NOT annotated with InterfaceStability
-    ClassFinder classFinder = new ClassFinder(
-      new And(new MainCodeResourcePathFilter(),
-              new TestFileNameFilter()),
-      new Not((FileNameFilter)new TestFileNameFilter()),
-      new And(new PublicClassFilter(),
-              new Not(new TestClassFilter()),
-              new Not(new GeneratedClassFilter()),
-              new Not(new ShadedProtobufClassFilter()),
-              new InterfaceAudienceLimitedPrivateAnnotatedNotConfigClassFilter(),
-              new Not(new IsInterfaceStabilityClassFilter()),
-              new Not(new InterfaceStabilityAnnotatedClassFilter()))
-    );
-
-    Set<Class<?>> classes = classFinder.findClasses(false);
-
-    if (!classes.isEmpty()) {
-      LOG.info("These are the @InterfaceAudience.LimitedPrivate classes that DO NOT " +
-          "have @InterfaceStability annotation:");
-      for (Class<?> clazz : classes) {
-        LOG.info(Objects.toString(clazz));
-      }
-    }
-    Assert.assertEquals("All classes that are marked with @InterfaceAudience.LimitedPrivate " +
-        "should have @InterfaceStability annotation",
-      0, classes.size());
-  }
-
-  @Ignore @Test
-  public void testProtosInReturnTypes() throws ClassNotFoundException, IOException, LinkageError {
-    Set<Class<?>> classes = findPublicClasses();
-    List<Pair<Class<?>, Method>> protosReturnType = new ArrayList<>();
-    for (Class<?> clazz : classes) {
-      findProtoInReturnType(clazz, protosReturnType);
-    }
-    if (protosReturnType.size() != 0) {
-      LOG.info("These are the methods that have Protos as the return type");
-      for (Pair<Class<?>, Method> pair : protosReturnType) {
-        LOG.info(pair.getFirst().getName() + " " + pair.getSecond().getName() + " "
-            + pair.getSecond().getReturnType().getName());
-      }
-    }
-
-    Assert.assertEquals("Public exposed methods should not have protos in return type", 0,
-      protosReturnType.size());
-  }
-
-  private Set<Class<?>> findPublicClasses()
-      throws ClassNotFoundException, IOException, LinkageError {
-    ClassFinder classFinder =
-        new ClassFinder(new And(new MainCodeResourcePathFilter(), new TestFileNameFilter()),
-            new Not((FileNameFilter) new TestFileNameFilter()),
-            new And(new PublicClassFilter(), new Not(new TestClassFilter()),
-                new Not(new GeneratedClassFilter()),
-                new Not(new ShadedProtobufClassFilter()),
-                new InterfaceAudiencePublicAnnotatedClassFilter()));
-    Set<Class<?>> classes = classFinder.findClasses(false);
-    return classes;
-  }
-
-  @Ignore @Test
-  public void testProtosInParamTypes() throws ClassNotFoundException, IOException, LinkageError {
-    Set<Class<?>> classes = findPublicClasses();
-    List<Triple<Class<?>, Method, Class<?>>> protosParamType = new ArrayList<>();
-    for (Class<?> clazz : classes) {
-      findProtoInParamType(clazz, protosParamType);
-    }
-
-    if (protosParamType.size() != 0) {
-      LOG.info("These are the methods that have Protos as the param type");
-      for (Triple<Class<?>, Method, Class<?>> pair : protosParamType) {
-        LOG.info(pair.getFirst().getName() + " " + pair.getSecond().getName() + " "
-            + pair.getThird().getName());
-      }
-    }
-
-    Assert.assertEquals("Public exposed methods should not have protos in param type", 0,
-      protosParamType.size());
-  }
-
-  @Ignore @Test
-  public void testProtosInConstructors() throws ClassNotFoundException, IOException, LinkageError {
-    Set<Class<?>> classes = findPublicClasses();
-    List<Class<?>> classList = new ArrayList<>();
-    for (Class<?> clazz : classes) {
-      Constructor<?>[] constructors = clazz.getConstructors();
-      for (Constructor<?> cons : constructors) {
-        if (!isInterfacePrivateContructor(cons)) {
-          Class<?>[] parameterTypes = cons.getParameterTypes();
-          for (Class<?> param : parameterTypes) {
-            if (param.getName().contains(HBASE_PROTOBUF)) {
-              classList.add(clazz);
-              break;
-            }
-          }
-        }
-      }
-    }
-
-    if (classList.size() != 0) {
-      LOG.info("These are the classes that have Protos in the constructor");
-      for (Class<?> clazz : classList) {
-        LOG.info(clazz.getName());
-      }
-    }
-
-    Assert.assertEquals("Public exposed classes should not have protos in constructors", 0,
-      classList.size());
-  }
-
-  private void findProtoInReturnType(Class<?> clazz,
-      List<Pair<Class<?>, Method>> protosReturnType) {
-    Pair<Class<?>, Method> returnTypePair = new Pair<>();
-    Method[] methods = clazz.getMethods();
-    returnTypePair.setFirst(clazz);
-    for (Method method : methods) {
-      if (clazz.isInterface() || method.getModifiers() == Modifier.PUBLIC) {
-        if (!isInterfacePrivateMethod(method)) {
-          Class<?> returnType = method.getReturnType();
-          if (returnType.getName().contains(HBASE_PROTOBUF)) {
-            returnTypePair.setSecond(method);
-            protosReturnType.add(returnTypePair);
-            continue;
-          }
-        }
-      }
-    }
-  }
-
-  private void findProtoInParamType(Class<?> clazz,
-      List<Triple<Class<?>, Method, Class<?>>> protosParamType) {
-    Triple<Class<?>, Method, Class<?>> paramType = new Triple<>();
-    Method[] methods = clazz.getMethods();
-    paramType.setFirst(clazz);
-    for (Method method : methods) {
-      if (clazz.isInterface() || method.getModifiers() == Modifier.PUBLIC) {
-        if (!isInterfacePrivateMethod(method)) {
-          Class<?>[] parameters = method.getParameterTypes();
-          for (Class<?> param : parameters) {
-            if (param.getName().contains(HBASE_PROTOBUF)) {
-              paramType.setSecond(method);
-              paramType.setThird(param);
-              protosParamType.add(paramType);
-              break;
-            }
-          }
-        }
-      }
-    }
-  }
-}
index a97bf75..dd3ac42 100644 (file)
             </excludes>
           </configuration>
         </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index d52c67d..89386f4 100644 (file)
@@ -24,10 +24,12 @@ import org.apache.htrace.core.Span;
 import org.apache.htrace.core.SpanReceiver;
 import org.apache.htrace.core.TraceScope;
 import org.apache.htrace.core.Tracer;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This wrapper class provides functions for accessing htrace 4+ functionality in a simplified way.
  */
+@InterfaceAudience.Private
 public final class TraceUtil {
   private static HTraceConfiguration conf;
   private static Tracer tracer;
index ab95b31..80ffa27 100644 (file)
@@ -16,6 +16,9 @@
  */
 package org.apache.hadoop.hbase.util;
 
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.core.JsonGenerator;
 import java.io.Closeable;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
@@ -25,7 +28,6 @@ import java.lang.reflect.Array;
 import java.nio.charset.StandardCharsets;
 import java.util.Iterator;
 import java.util.Set;
-
 import javax.management.AttributeNotFoundException;
 import javax.management.InstanceNotFoundException;
 import javax.management.IntrospectionException;
@@ -41,17 +43,14 @@ import javax.management.RuntimeMBeanException;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.TabularData;
-
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.core.JsonGenerator;
-
 /**
  * Utility for doing JSON and MBeans.
  */
+@InterfaceAudience.Private
 public class JSONBean {
   private static final Logger LOG = LoggerFactory.getLogger(JSONBean.class);
   private final JsonFactory jsonFactory;
index b6c05b6..7bc2257 100644 (file)
@@ -17,6 +17,9 @@
  * */
 package org.apache.hadoop.hbase.util;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import java.beans.IntrospectionException;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -28,7 +31,6 @@ import java.lang.management.RuntimeMXBean;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Set;
-
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanAttributeInfo;
 import javax.management.MBeanInfo;
@@ -37,14 +39,11 @@ import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.management.ReflectionException;
 import javax.management.openmbean.CompositeData;
-
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
+@InterfaceAudience.Private
 public final class JSONMetricUtil {
 
   private static final Logger LOG = LoggerFactory.getLogger(JSONMetricUtil.class);
index 3c23b1f..e9a8cf7 100644 (file)
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 757dd84..8814491 100644 (file)
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 63d00fb..bcc9c0a 100644 (file)
@@ -23,7 +23,6 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.IntStream;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.hbase.TableName;
@@ -36,12 +35,14 @@ import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * A simple example shows how to use asynchronous client.
  */
+@InterfaceAudience.Private
 public class AsyncClientExample extends Configured implements Tool {
 
   private static final Logger LOG = LoggerFactory.getLogger(AsyncClientExample.class);
index 8e8a828..9c900d7 100644 (file)
@@ -28,7 +28,6 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.BufferedMutator;
@@ -40,12 +39,14 @@ import org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * An example of using the {@link BufferedMutator} interface.
  */
+@InterfaceAudience.Private
 public class BufferedMutatorExample extends Configured implements Tool {
 
   private static final Logger LOG = LoggerFactory.getLogger(BufferedMutatorExample.class);
index e15c993..d3ee2cc 100644 (file)
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.client.example;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
@@ -28,14 +31,11 @@ import org.apache.hadoop.hbase.client.ConnectionFactory;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.client.Table;
-import org.apache.hadoop.hbase.coprocessor.Export;
 import org.apache.hadoop.hbase.client.TableDescriptor;
 import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
+import org.apache.hadoop.hbase.coprocessor.Export;
 import org.apache.hadoop.hbase.util.Bytes;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A simple example on how to use {@link org.apache.hadoop.hbase.coprocessor.Export}.
@@ -45,7 +45,8 @@ import java.util.Map;
  * hbase-endpoint/src/main/protobuf/Export.proto.
  * </p>
  */
-public class ExportEndpointExample {
+@InterfaceAudience.Private
+public final class ExportEndpointExample {
 
   public static void main(String[] args) throws Throwable {
     int rowCount = 100;
@@ -83,4 +84,6 @@ public class ExportEndpointExample {
       System.out.println("total cells:" + totalOutputCells);
     }
   }
+
+  private ExportEndpointExample(){}
 }
index 37bda0f..f9caf2b 100644 (file)
@@ -21,7 +21,6 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.TableName;
@@ -31,6 +30,7 @@ import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.ipc.NettyRpcClientConfigHelper;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
 import org.apache.hbase.thirdparty.com.google.common.base.Throwables;
@@ -71,6 +71,7 @@ import org.apache.hbase.thirdparty.io.netty.util.concurrent.GlobalEventExecutor;
  * Use HTTP GET to fetch data, and use HTTP PUT to put data. Encode the value as the request content
  * when doing PUT.
  */
+@InterfaceAudience.Private
 public class HttpProxyExample {
 
   private final EventLoopGroup bossGroup = new NioEventLoopGroup(1);
index ae89e64..2c98c18 100644 (file)
@@ -29,7 +29,6 @@ import java.util.concurrent.Future;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
-
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.Cell.Type;
@@ -48,6 +47,7 @@ import org.apache.hadoop.hbase.filter.KeyOnlyFilter;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -90,6 +90,7 @@ import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFacto
  * </ul>
  *
  */
+@InterfaceAudience.Private
 public class MultiThreadedClientExample extends Configured implements Tool {
   private static final Logger LOG = LoggerFactory.getLogger(MultiThreadedClientExample.class);
   private static final int DEFAULT_NUM_OPERATIONS = 500000;
index a829b2a..ead0af0 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.hadoop.hbase.client.example;
 
+import java.io.Closeable;
+import java.io.IOException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.TableName;
@@ -29,16 +31,15 @@ import org.apache.hadoop.hbase.client.coprocessor.Batch;
 import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils.BlockingRpcCallback;
 import org.apache.hadoop.hbase.ipc.ServerRpcController;
 import org.apache.hadoop.hbase.protobuf.generated.RefreshHFilesProtos;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.Closeable;
-import java.io.IOException;
-
 /**
  * This client class is for invoking the refresh HFile function deployed on the
  * Region Server side via the RefreshHFilesService.
  */
+@InterfaceAudience.Private
 public class RefreshHFilesClient implements Closeable {
   private static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesClient.class);
   private final Connection connection;
index 4735b3d..e2681ae 100644 (file)
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.coprocessor.example;
 
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.RpcController;
+import com.google.protobuf.Service;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -24,7 +27,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
@@ -48,13 +50,10 @@ import org.apache.hadoop.hbase.regionserver.OperationStatus;
 import org.apache.hadoop.hbase.regionserver.Region;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.protobuf.RpcCallback;
-import com.google.protobuf.RpcController;
-import com.google.protobuf.Service;
-
 /**
  * Defines a protocol to delete data in bulk based on a scan. The scan can be range scan or with
  * conditions(filters) etc.This can be used to delete rows, column family(s), column qualifier(s)
@@ -95,6 +94,7 @@ import com.google.protobuf.Service;
  * }
  * </code></pre>
  */
+@InterfaceAudience.Private
 public class BulkDeleteEndpoint extends BulkDeleteService implements RegionCoprocessor {
   private static final String NO_OF_VERSIONS_TO_DELETE = "noOfVersionsToDelete";
   private static final Logger LOG = LoggerFactory.getLogger(BulkDeleteEndpoint.class);
index f781a33..ada040f 100644 (file)
@@ -19,14 +19,15 @@ package org.apache.hadoop.hbase.coprocessor.example;
 
 import java.io.IOException;
 import java.util.List;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.regionserver.InternalScanner;
 import org.apache.hadoop.hbase.regionserver.ScannerContext;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A simple delegation for doing filtering on {@link InternalScanner}.
  */
+@InterfaceAudience.Private
 public class DelegatingInternalScanner implements InternalScanner {
 
   protected final InternalScanner scanner;
index 87387a0..5fe920e 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.coprocessor.example;
 
 import java.io.IOException;
 import java.util.Optional;
-
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.RegionInfo;
@@ -33,6 +32,7 @@ import org.apache.hadoop.hbase.metrics.Counter;
 import org.apache.hadoop.hbase.metrics.Gauge;
 import org.apache.hadoop.hbase.metrics.MetricRegistry;
 import org.apache.hadoop.hbase.metrics.Timer;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,6 +47,7 @@ import org.slf4j.LoggerFactory;
  * </p>
  * @see ExampleRegionObserverWithMetrics
  */
+@InterfaceAudience.Private
 public class ExampleMasterObserverWithMetrics implements MasterCoprocessor, MasterObserver {
   @Override
   public Optional<MasterObserver> getMasterObserver() {
index 4e31d22..ec33e08 100644 (file)
@@ -24,7 +24,6 @@ import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.ThreadLocalRandom;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.client.Get;
@@ -40,6 +39,7 @@ import org.apache.hadoop.hbase.regionserver.Store;
 import org.apache.hadoop.hbase.regionserver.StoreFile;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * An example coprocessor that collects some metrics to demonstrate the usage of exporting custom
@@ -52,6 +52,7 @@ import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest;
  *
  * @see ExampleMasterObserverWithMetrics
  */
+@InterfaceAudience.Private
 public class ExampleRegionObserverWithMetrics implements RegionCoprocessor {
 
   private Counter preGetCounter;
index 60cb154..29fe90c 100644 (file)
@@ -21,7 +21,8 @@ package org.apache.hadoop.hbase.coprocessor.example;
 import com.google.protobuf.RpcCallback;
 import com.google.protobuf.RpcController;
 import com.google.protobuf.Service;
-
+import java.io.IOException;
+import java.util.Collections;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.CoprocessorException;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor;
@@ -29,12 +30,10 @@ import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;
 import org.apache.hadoop.hbase.protobuf.generated.RefreshHFilesProtos;
 import org.apache.hadoop.hbase.regionserver.Store;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.Collections;
-
 /**
  * Coprocessor endpoint to refresh HFiles on replica.
  * <p>
@@ -43,6 +42,7 @@ import java.util.Collections;
  * hbase-protocol/src/main/protobuf/RefreshHFiles.proto.
  * </p>
  */
+@InterfaceAudience.Private
 public class RefreshHFilesEndpoint extends RefreshHFilesProtos.RefreshHFilesService
   implements RegionCoprocessor {
   protected static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesEndpoint.class);
index ff7b43d..21d3b7a 100644 (file)
 
 package org.apache.hadoop.hbase.coprocessor.example;
 
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.RpcController;
+import com.google.protobuf.Service;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
@@ -35,10 +37,7 @@ import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter;
 import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;
 import org.apache.hadoop.hbase.regionserver.InternalScanner;
 import org.apache.hadoop.hbase.util.Bytes;
-
-import com.google.protobuf.RpcCallback;
-import com.google.protobuf.RpcController;
-import com.google.protobuf.Service;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Sample coprocessor endpoint exposing a Service interface for counting rows and key values.
@@ -48,6 +47,7 @@ import com.google.protobuf.Service;
  * hbase-examples/src/main/protobuf/Examples.proto.
  * </p>
  */
+@InterfaceAudience.Private
 public class RowCountEndpoint extends ExampleProtos.RowCountService implements RegionCoprocessor {
   private RegionCoprocessorEnvironment env;
 
index 942315c..1c323d2 100644 (file)
@@ -18,7 +18,6 @@ package org.apache.hadoop.hbase.coprocessor.example;
 
 import java.io.IOException;
 import java.util.Optional;
-
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
@@ -26,11 +25,13 @@ import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.RegionObserver;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A RegionObserver which modifies incoming Scan requests to include additional
  * columns than what the user actually requested.
  */
+@InterfaceAudience.Private
 public class ScanModifyingObserver implements RegionCoprocessor, RegionObserver {
 
   public static final String FAMILY_TO_ADD_KEY = "hbase.examples.coprocessor.scanmodifying.family";
index 422f4c1..988b51b 100644 (file)
@@ -19,7 +19,6 @@ package org.apache.hadoop.hbase.coprocessor.example;
 import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellBuilder;
 import org.apache.hadoop.hbase.CellBuilderFactory;
@@ -37,10 +36,12 @@ import org.apache.hadoop.hbase.regionserver.Store;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This RegionObserver replaces the values of Puts from one value to another on compaction.
  */
+@InterfaceAudience.Private
 public class ValueRewritingObserver implements RegionObserver, RegionCoprocessor {
   public static final String ORIGINAL_VALUE_KEY =
       "hbase.examples.coprocessor.value.rewrite.orig";
index 01914b3..c7ebf0d 100644 (file)
@@ -26,7 +26,6 @@ import java.util.NavigableMap;
 import java.util.Optional;
 import java.util.TreeMap;
 import java.util.stream.IntStream;
-
 import org.apache.commons.lang3.mutable.MutableLong;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellBuilderFactory;
@@ -52,6 +51,7 @@ import org.apache.hadoop.hbase.regionserver.Store;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.hbase.thirdparty.com.google.common.math.IntMath;
 
@@ -64,6 +64,7 @@ import org.apache.hbase.thirdparty.com.google.common.math.IntMath;
  * Notice that this is only an example so we do not handle most corner cases, for example, you must
  * provide a qualifier when doing a get.
  */
+@InterfaceAudience.Private
 public class WriteHeavyIncrementObserver implements RegionCoprocessor, RegionObserver {
 
   @Override
index 9b1db69..12d7d17 100644 (file)
@@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.coprocessor.example;
 import java.io.IOException;
 import java.util.Optional;
 import java.util.OptionalLong;
-
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
 import org.apache.curator.framework.recipes.cache.ChildData;
@@ -40,6 +39,7 @@ import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTrack
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This is an example showing how a RegionObserver could configured via ZooKeeper in order to
@@ -51,6 +51,7 @@ import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
  * successful backup via ZK and instruct HBase that to safely delete the data which has already been
  * backup.
  */
+@InterfaceAudience.Private
 public class ZooKeeperScanPolicyObserver implements RegionCoprocessor, RegionObserver {
 
   @Override
index 01e9ef3..3098ac2 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.mapreduce;
 
 import java.io.IOException;
 import java.util.TreeMap;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.hbase.HBaseConfiguration;
@@ -33,6 +32,7 @@ import org.apache.hadoop.mapreduce.Job;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Example map/reduce job to construct index tables that can be used to quickly
@@ -64,6 +64,7 @@ import org.apache.hadoop.util.ToolRunner;
  * This code was written against HBase 0.21 trunk.
  * </p>
  */
+@InterfaceAudience.Private
 public class IndexBuilder extends Configured implements Tool {
   /** the column family containing the indexed row key */
   public static final byte[] INDEX_COLUMN = Bytes.toBytes("INDEX");
index 18eb5a6..1248f87 100644 (file)
@@ -19,7 +19,6 @@
 package org.apache.hadoop.hbase.mapreduce;
 
 import java.io.IOException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.fs.Path;
@@ -35,6 +34,7 @@ import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
 import org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Sample Uploader MapReduce
@@ -58,6 +58,7 @@ import org.apache.hadoop.util.ToolRunner;
  * <p>
  * This code was written against HBase 0.21 trunk.
  */
+@InterfaceAudience.Private
 public class SampleUploader extends Configured implements Tool {
 
   private static final String NAME = "SampleUploader";
index 706f82f..07486bf 100644 (file)
@@ -31,13 +31,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
 import java.util.TreeMap;
-
 import javax.security.auth.Subject;
 import javax.security.auth.login.AppConfigurationEntry;
 import javax.security.auth.login.Configuration;
 import javax.security.auth.login.LoginContext;
 import javax.security.sasl.Sasl;
-
 import org.apache.hadoop.hbase.thrift.generated.AlreadyExists;
 import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor;
 import org.apache.hadoop.hbase.thrift.generated.Hbase;
@@ -49,10 +47,12 @@ import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.transport.TSaslClientTransport;
 import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * See the instructions under hbase-examples/README.txt
  */
+@InterfaceAudience.Private
 public class DemoClient {
 
     static protected int port;
index 25fdc4a..56aadce 100644 (file)
@@ -18,7 +18,6 @@
  */
 package org.apache.hadoop.hbase.thrift;
 
-
 import java.io.UnsupportedEncodingException;
 import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
@@ -31,12 +30,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
 import java.util.TreeMap;
-
 import javax.security.auth.Subject;
 import javax.security.auth.login.AppConfigurationEntry;
 import javax.security.auth.login.Configuration;
 import javax.security.auth.login.LoginContext;
-
 import org.apache.hadoop.hbase.thrift.generated.AlreadyExists;
 import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor;
 import org.apache.hadoop.hbase.thrift.generated.Hbase;
@@ -48,6 +45,7 @@ import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.transport.THttpClient;
 import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.ietf.jgss.GSSContext;
 import org.ietf.jgss.GSSCredential;
 import org.ietf.jgss.GSSException;
@@ -58,6 +56,7 @@ import org.ietf.jgss.Oid;
 /**
  * See the instructions under hbase-examples/README.txt
  */
+@InterfaceAudience.Private
 public class HttpDoAsClient {
 
   static protected int port;
index 666997e..7fbe2aa 100644 (file)
@@ -24,15 +24,12 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import javax.security.auth.Subject;
 import javax.security.auth.login.AppConfigurationEntry;
 import javax.security.auth.login.Configuration;
 import javax.security.auth.login.LoginContext;
 import javax.security.sasl.Sasl;
-
 import org.apache.hadoop.hbase.HBaseConfiguration;
-
 import org.apache.hadoop.hbase.thrift2.generated.TColumnValue;
 import org.apache.hadoop.hbase.thrift2.generated.TGet;
 import org.apache.hadoop.hbase.thrift2.generated.THBaseService;
@@ -44,7 +41,9 @@ import org.apache.thrift.transport.TFramedTransport;
 import org.apache.thrift.transport.TSaslClientTransport;
 import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class DemoClient {
 
   private static String host = "localhost";
index c063aa9..b1ec97e 100644 (file)
@@ -19,14 +19,15 @@ package org.apache.hadoop.hbase.types;
 
 import com.google.protobuf.CodedInputStream;
 import com.google.protobuf.CodedOutputStream;
+import java.io.IOException;
 import org.apache.hadoop.hbase.protobuf.generated.CellProtos;
 import org.apache.hadoop.hbase.util.PositionedByteRange;
-
-import java.io.IOException;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * An example for using protobuf objects with {@link DataType} API.
  */
+@InterfaceAudience.Private
 public class PBCell extends PBType<CellProtos.Cell> {
   @Override
   public Class<CellProtos.Cell> encodedClass() {
index 13f53dc..24c33eb 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 0237e08..a3c2788 100644 (file)
             <failOnViolation>true</failOnViolation>
           </configuration>
         </plugin>
+        <plugin>
+          <groupId>net.revelc.code</groupId>
+          <artifactId>warbucks-maven-plugin</artifactId>
+        </plugin>
       </plugins>
       <pluginManagement>
         <plugins>
index 5c1f103..d29e7bc 100644 (file)
@@ -21,12 +21,14 @@ package org.apache.hadoop.hbase;
 import java.util.Iterator;
 import java.util.ServiceLoader;
 
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * Class that will create many instances of classes provided by the hbase-hadoop{1|2}-compat jars.
  */
+@InterfaceAudience.Private
 public class CompatibilityFactory {
 
   private static final Logger LOG = LoggerFactory.getLogger(CompatibilitySingletonFactory.class);
index 3dc3f49..0e633b8 100644 (file)
@@ -23,6 +23,7 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.ServiceLoader;
 
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
  *  Factory for classes supplied by hadoop compatibility modules.  Only one of each class will be
  *  created.
  */
+@InterfaceAudience.Private
 public class CompatibilitySingletonFactory extends CompatibilityFactory {
   public static enum SingletonStorage {
     INSTANCE;
index 3f27747..c0a8519 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.io;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsIOSource extends BaseSource {
 
   /**
index ed07898..3ba8cd5 100644 (file)
@@ -18,6 +18,9 @@
 
 package org.apache.hadoop.hbase.io;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public interface MetricsIOWrapper {
 
   long getChecksumFailures();
index 534331a..0833751 100644 (file)
@@ -20,7 +20,9 @@
 package org.apache.hadoop.hbase.ipc;
 
 import org.apache.hadoop.hbase.metrics.ExceptionTrackingSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsHBaseServerSource extends ExceptionTrackingSource {
   String AUTHORIZATION_SUCCESSES_NAME = "authorizationSuccesses";
   String AUTHORIZATION_SUCCESSES_DESC =
index e9a3348..7f1415a 100644 (file)
@@ -19,6 +19,9 @@
 
 package org.apache.hadoop.hbase.ipc;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public abstract class MetricsHBaseServerSourceFactory {
   /**
    * The name of the metrics
index b272cd0..c80d1a9 100644 (file)
@@ -19,6 +19,9 @@
 
 package org.apache.hadoop.hbase.ipc;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public interface MetricsHBaseServerWrapper {
   long getTotalQueueSize();
 
index 890c67a..ec4a34e 100644 (file)
@@ -20,7 +20,9 @@ package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
 import org.apache.hadoop.hbase.metrics.OperationMetrics;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsAssignmentManagerSource extends BaseSource {
 
   /**
index 6cf942b..91dc71a 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsMasterFileSystemSource extends BaseSource {
 
   /**
index 51a17a8..db4f25e 100644 (file)
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface that classes that expose metrics about the master will implement.
  */
+@InterfaceAudience.Private
 public interface MetricsMasterProcSource extends BaseSource {
 
   /**
index b282e06..197f9f9 100644 (file)
 
 package org.apache.hadoop.hbase.master;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Interface of a factory to create MetricsMasterSource when given a MetricsMasterWrapper
  */
+@InterfaceAudience.Private
 public interface MetricsMasterProcSourceFactory {
 
   MetricsMasterProcSource create(MetricsMasterWrapper masterWrapper);
index 99c5441..8450432 100644 (file)
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A collection of exposed metrics for space quotas from the HBase Master.
  */
+@InterfaceAudience.Private
 public interface MetricsMasterQuotaSource extends BaseSource {
 
   String METRICS_NAME = "Quotas";
index 6e10746..2dcd945 100644 (file)
  */
 package org.apache.hadoop.hbase.master;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Interface of a factory to create MetricsMasterQuotaSource when given a MetricsMasterWrapper.
  */
+@InterfaceAudience.Private
 public interface MetricsMasterQuotaSourceFactory {
 
   MetricsMasterQuotaSource create(MetricsMasterWrapper masterWrapper);
index b1c47ec..03a691a 100644 (file)
@@ -20,10 +20,12 @@ package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
 import org.apache.hadoop.hbase.metrics.OperationMetrics;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface that classes that expose metrics about the master will implement.
  */
+@InterfaceAudience.Private
 public interface MetricsMasterSource extends BaseSource {
 
   /**
index 63a85a3..fce574a 100644 (file)
 
 package org.apache.hadoop.hbase.master;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Interface of a factory to create MetricsMasterSource when given a MetricsMasterWrapper
  */
+@InterfaceAudience.Private
 public interface MetricsMasterSourceFactory {
 
   MetricsMasterSource create(MetricsMasterWrapper masterWrapper);
index 80e0892..e6b2bc5 100644 (file)
@@ -20,11 +20,13 @@ package org.apache.hadoop.hbase.master;
 
 import java.util.Map;
 import java.util.Map.Entry;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This is the interface that will expose information to hadoop1/hadoop2 implementations of the
  * MetricsMasterSource.
  */
+@InterfaceAudience.Private
 public interface MetricsMasterWrapper {
 
   /**
index 371a316..15315b6 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsSnapshotSource extends BaseSource {
   /**
    * The name of the metrics
index 1c9a61e..5add25f 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.master.balancer;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsBalancerSource extends BaseSource  {
 
   /**
index 1621932..6eecc12 100644 (file)
 
 package org.apache.hadoop.hbase.master.balancer;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
- * This interface extends the basic metrics balancer source to add a function 
- * to report metrics that related to stochastic load balancer. The purpose is to 
+ * This interface extends the basic metrics balancer source to add a function
+ * to report metrics that related to stochastic load balancer. The purpose is to
  * offer an insight to the internal cost calculations that can be useful to tune
  * the balancer. For details, refer to HBASE-13965
  */
+@InterfaceAudience.Private
 public interface MetricsStochasticBalancerSource extends MetricsBalancerSource {
 
   /**
index 652aae1..76391bb 100644 (file)
 
 package org.apache.hadoop.hbase.metrics;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  *   BaseSource for dynamic metrics to announce to Metrics2.
  *   In hbase-hadoop{1|2}-compat there is an implementation of this interface.
  */
+@InterfaceAudience.Private
 public interface BaseSource {
 
   String HBASE_METRICS_SYSTEM_NAME = "HBase";
index fa252fc..53d3d18 100644 (file)
 
 package org.apache.hadoop.hbase.metrics;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Common interface for metrics source implementations which need to track individual exception
  * types thrown or received.
  */
+@InterfaceAudience.Private
 public interface ExceptionTrackingSource extends BaseSource {
   String EXCEPTIONS_NAME="exceptions";
   String EXCEPTIONS_DESC="Exceptions caused by requests";
index af6eeed..6cb5425 100644 (file)
 
 package org.apache.hadoop.hbase.metrics;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Interface for sources that will export JvmPauseMonitor metrics
  */
+@InterfaceAudience.Private
 public interface JvmPauseMonitorSource  {
 
   String INFO_THRESHOLD_COUNT_KEY = "pauseInfoThresholdExceeded";
index e4ff880..575ca31 100644 (file)
 package org.apache.hadoop.hbase.metrics;
 
 import javax.management.ObjectName;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  *  Object that will register an mbean with the underlying metrics implementation.
  */
+@InterfaceAudience.Private
 public interface MBeanSource  {
 
   /**
index f3e14c0..064c9ca 100644 (file)
 
 package org.apache.hadoop.hbase.metrics;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
 
 /**
  * Container class for commonly collected metrics for most operations. Instantiate this class to
  * collect submitted count, failed count and time histogram for an operation.
  */
+@InterfaceAudience.Private
 public class OperationMetrics {
   private static final String SUBMITTED_COUNT = "SubmittedCount";
   private static final String TIME = "Time";
index a36fb90..12fb43f 100644 (file)
 package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This interface will be implemented by a MetricsSource that will export metrics from
  * HeapMemoryManager in RegionServer into the hadoop metrics system.
  */
+@InterfaceAudience.Private
 public interface MetricsHeapMemoryManagerSource extends BaseSource {
   /**
    * The name of the metrics
index 578ce49..23d0259 100644 (file)
 package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This interface will be implemented by a MetricsSource that will export metrics from
  * multiple regions into the hadoop metrics system.
  */
+@InterfaceAudience.Private
 public interface MetricsRegionAggregateSource extends BaseSource {
 
   /**
index 5463a6a..93990ef 100644 (file)
 package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A collection of exposed metrics for space quotas from an HBase RegionServer.
  */
+@InterfaceAudience.Private
 public interface MetricsRegionServerQuotaSource extends BaseSource {
 
   String METRICS_NAME = "Quotas";
index 168c91f..9a826e7 100644 (file)
@@ -20,10 +20,12 @@ package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
 import org.apache.hadoop.hbase.metrics.JvmPauseMonitorSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface for classes that expose metrics about the regionserver.
  */
+@InterfaceAudience.Private
 public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSource {
 
   /**
index d581fd5..bf4e0bc 100644 (file)
@@ -20,10 +20,12 @@ package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.hbase.io.MetricsIOSource;
 import org.apache.hadoop.hbase.io.MetricsIOWrapper;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface of a factory to create Metrics Sources used inside of regionservers.
  */
+@InterfaceAudience.Private
 public interface MetricsRegionServerSourceFactory {
 
   /**
index 761945a..83a8339 100644 (file)
 
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * This is the interface that will expose RegionServer information to hadoop1/hadoop2
  * implementations of the MetricsRegionServerSource.
  */
+@InterfaceAudience.Private
 public interface MetricsRegionServerWrapper {
 
   /**
index d5738cf..2a198d6 100644 (file)
 
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This interface will be implemented to allow single regions to push metrics into
  * MetricsRegionAggregateSource that will in turn push data to the Hadoop metrics system.
  */
+@InterfaceAudience.Private
 public interface MetricsRegionSource extends Comparable<MetricsRegionSource> {
 
   String OPS_SAMPLE_NAME = "ops";
index 2a03f66..9b2aba1 100644 (file)
 
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Interface of class that will wrap an HRegion and export numbers so they can be
  * used in MetricsRegionSource
  */
+@InterfaceAudience.Private
 public interface MetricsRegionWrapper {
 
   /**
index 6ee0c3d..39e2372 100644 (file)
 package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This interface will be implemented by a MetricsSource that will export metrics from
  * multiple regions of a table into the hadoop metrics system.
  */
+@InterfaceAudience.Private
 public interface MetricsTableAggregateSource extends BaseSource {
 
   /**
index 67e651a..231bad1 100644 (file)
  */
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Latency metrics for a specific table in a RegionServer.
  */
+@InterfaceAudience.Private
 public interface MetricsTableLatencies {
 
   /**
index ee0d3b4..b8476bf 100644 (file)
 
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * This interface will be implemented to allow region server to push table metrics into
  * MetricsRegionAggregateSource that will in turn push data to the Hadoop metrics system.
  */
+@InterfaceAudience.Private
 public interface MetricsTableSource extends Comparable<MetricsTableSource> {
 
   String READ_REQUEST_COUNT = "readRequestCount";
index 910c729..e1d2ab2 100644 (file)
 
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface of class that will wrap a MetricsTableSource and export numbers so they can be
  * used in MetricsTableSource
  */
+@InterfaceAudience.Private
 public interface MetricsTableWrapperAggregate {
 
   /**
index a665571..fbe95f5 100644 (file)
 package org.apache.hadoop.hbase.regionserver.wal;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface of the source that will export metrics about the region server's WAL.
  */
+@InterfaceAudience.Private
 public interface MetricsWALSource extends BaseSource {
 
 
index 9fb8415..1d6251b 100644 (file)
@@ -18,6 +18,9 @@
 
 package org.apache.hadoop.hbase.replication.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public interface MetricsReplicationSinkSource {
   public static final String SINK_AGE_OF_LAST_APPLIED_OP = "sink.ageOfLastAppliedOp";
   public static final String SINK_APPLIED_BATCHES = "sink.appliedBatches";
index 6a91701..6fb5d71 100644 (file)
 package org.apache.hadoop.hbase.replication.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Provides access to gauges and counters. Implementers will hide the details of hadoop1 or
  * hadoop2's metrics2 classes and publishing.
  */
+@InterfaceAudience.Private
 public interface MetricsReplicationSource extends BaseSource {
   /**
    * The name of the metrics
index 0e1c5cc..6534b11 100644 (file)
@@ -18,6 +18,9 @@
 
 package org.apache.hadoop.hbase.replication.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public interface MetricsReplicationSourceFactory {
   public MetricsReplicationSinkSource getSink();
   public MetricsReplicationSourceSource getSource(String id);
index e9ca5b7..1045113 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.replication.regionserver;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public interface MetricsReplicationSourceSource extends BaseSource {
 
   public static final String SOURCE_SIZE_OF_LOG_QUEUE = "source.sizeOfLogQueue";
index 4234dfd..6a672f8 100644 (file)
@@ -20,10 +20,12 @@ package org.apache.hadoop.hbase.rest;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
 import org.apache.hadoop.hbase.metrics.JvmPauseMonitorSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface of the Metrics Source that will export data to Hadoop's Metrics2 system.
  */
+@InterfaceAudience.Private
 public interface MetricsRESTSource extends BaseSource, JvmPauseMonitorSource {
 
   String METRICS_NAME = "REST";
@@ -47,9 +49,9 @@ public interface MetricsRESTSource extends BaseSource, JvmPauseMonitorSource {
   String FAILED_PUT_KEY = "failedPut";
 
   String FAILED_DELETE_KEY = "failedDelete";
-  
+
   String SUCCESSFUL_SCAN_KEY = "successfulScanCount";
-  
+
   String FAILED_SCAN_KEY = "failedScanCount";
 
   String SUCCESSFUL_APPEND_KEY = "successfulAppendCount";
@@ -108,14 +110,14 @@ public interface MetricsRESTSource extends BaseSource, JvmPauseMonitorSource {
    * @param inc The number of failed delete requests.
    */
   void incrementFailedDeleteRequests(int inc);
-  
+
   /**
    * Increment the number of successful scan requests.
    *
    * @param inc Number of successful scan requests.
    */
   void incrementSucessfulScanRequests(final int inc);
-  
+
   /**
    * Increment the number failed scan requests.
    *
index 5acb765..3fbf15c 100644 (file)
@@ -20,10 +20,12 @@ package org.apache.hadoop.hbase.thrift;
 
 import org.apache.hadoop.hbase.metrics.ExceptionTrackingSource;
 import org.apache.hadoop.hbase.metrics.JvmPauseMonitorSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface of a class that will export metrics about Thrift to hadoop's metrics2.
  */
+@InterfaceAudience.Private
 public interface MetricsThriftServerSource extends ExceptionTrackingSource, JvmPauseMonitorSource {
 
   String BATCH_GET_KEY = "batchGet";
index 6c81451..760376c 100644 (file)
 
 package org.apache.hadoop.hbase.thrift;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Factory that will be used to create metrics sources for the two diffent types of thrift servers.
  */
+@InterfaceAudience.Private
 public interface MetricsThriftServerSourceFactory {
   String METRICS_NAME = "Thrift";
   String METRICS_DESCRIPTION = "Thrift Server Metrics";
index 506783d..3133472 100644 (file)
 package org.apache.hadoop.hbase.zookeeper;
 
 import org.apache.hadoop.hbase.metrics.BaseSource;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Interface of the source that will export metrics about the ZooKeeper.
  */
+@InterfaceAudience.Private
 public interface MetricsZooKeeperSource extends BaseSource {
 
   /**
index 1715255..27c7450 100644 (file)
 
 package org.apache.hadoop.metrics2;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Metrics Histogram interface.  Implementing classes will expose computed
  * quartile values through the metrics system.
  */
+@InterfaceAudience.Private
 public interface MetricHistogram {
 
   //Strings used to create metrics names.
index f2ebc94..1366fd0 100644 (file)
 package org.apache.hadoop.metrics2;
 
 import java.util.concurrent.ScheduledExecutorService;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * ScheduledExecutorService for metrics.
  */
+@InterfaceAudience.Private
 public interface MetricsExecutor {
 
   ScheduledExecutorService getExecutor();
index 9b06293..6a313ab 100644 (file)
@@ -67,6 +67,10 @@ limitations under the License.
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
         <pluginManagement>
       <plugins>
index b41a46f..fdb318a 100644 (file)
@@ -23,7 +23,9 @@ import org.apache.hadoop.metrics2.MetricHistogram;
 import org.apache.hadoop.metrics2.MetricsCollector;
 import org.apache.hadoop.metrics2.MetricsRecordBuilder;
 import org.apache.hadoop.metrics2.lib.Interns;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsIOSourceImpl extends BaseSourceImpl implements MetricsIOSource {
 
   private final MetricsIOWrapper wrapper;
index 9ed61a1..3af27d8 100644 (file)
 package org.apache.hadoop.hbase.metrics;
 
 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Common base implementation for metrics sources which need to track exceptions thrown or
  * received.
  */
+@InterfaceAudience.Private
 public class ExceptionTrackingSourceImpl extends BaseSourceImpl
     implements ExceptionTrackingSource {
   protected MutableFastCounter exceptions;
index 5150dff..96fc954 100644 (file)
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.Optional;
-
 import org.apache.hadoop.hbase.metrics.MetricRegistries;
 import org.apache.hadoop.hbase.metrics.MetricRegistry;
 import org.apache.hadoop.hbase.metrics.MetricRegistryInfo;
@@ -36,8 +34,10 @@ import org.apache.hadoop.metrics2.impl.JmxCacheBuster;
 import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
 import org.apache.hadoop.metrics2.lib.DefaultMetricsSystemHelper;
 import org.apache.hadoop.metrics2.lib.MetricsExecutorImpl;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
 
 /**
@@ -62,7 +62,8 @@ import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesti
  * initialization should be moved here.
  * </p>
  */
-public class GlobalMetricRegistriesAdapter {
+@InterfaceAudience.Private
+public final class GlobalMetricRegistriesAdapter {
 
   private static final Logger LOG = LoggerFactory.getLogger(GlobalMetricRegistriesAdapter.class);
 
index b6a17cf..e4d8710 100644 (file)
@@ -33,7 +33,6 @@
 package org.apache.hadoop.hbase.metrics.impl;
 
 import java.util.Map;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.hbase.metrics.Counter;
 import org.apache.hadoop.hbase.metrics.Gauge;
@@ -48,6 +47,7 @@ import org.apache.hadoop.metrics2.MetricsInfo;
 import org.apache.hadoop.metrics2.MetricsRecordBuilder;
 import org.apache.hadoop.metrics2.lib.Interns;
 import org.apache.hadoop.metrics2.lib.MutableHistogram;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,6 +59,7 @@ import org.slf4j.LoggerFactory;
  *
  * Some of the code is forked from https://github.com/joshelser/dropwizard-hadoop-metrics2.
  */
+@InterfaceAudience.Private
 public class HBaseMetrics2HadoopMetricsAdapter {
   private static final Logger LOG
       = LoggerFactory.getLogger(HBaseMetrics2HadoopMetricsAdapter.class);
index 712096d..5d18ccb 100644 (file)
@@ -21,7 +21,9 @@ package org.apache.hadoop.hbase.replication.regionserver;
 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
 import org.apache.hadoop.metrics2.lib.MutableHistogram;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsReplicationGlobalSourceSource implements MetricsReplicationSourceSource{
   private static final String KEY_PREFIX = "source.";
 
index 74592d9..485764e 100644 (file)
 package org.apache.hadoop.hbase.replication.regionserver;
 
 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
-import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
 import org.apache.hadoop.metrics2.lib.MutableHistogram;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsReplicationSinkSourceImpl implements MetricsReplicationSinkSource {
 
   private final MutableHistogram ageHist;
index b07790f..af310f0 100644 (file)
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.replication.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public class MetricsReplicationSourceFactoryImpl implements MetricsReplicationSourceFactory {
 
   private static enum SourceHolder {
index 0b6a1e1..be62e3d 100644 (file)
@@ -20,7 +20,9 @@ package org.apache.hadoop.hbase.replication.regionserver;
 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
 import org.apache.hadoop.metrics2.lib.MutableHistogram;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsReplicationSourceSourceImpl implements MetricsReplicationSourceSource {
 
   private final MetricsReplicationSourceImpl rms;
index 3ecd888..87b83e5 100644 (file)
@@ -20,9 +20,11 @@ package org.apache.hadoop.metrics2.lib;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.HashMap;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@InterfaceAudience.Private
 public class DefaultMetricsSystemHelper {
 
   private static final Logger LOG = LoggerFactory.getLogger(DefaultMetricsSystemHelper.class);
index 645b8cc..7b5ec02 100644 (file)
@@ -22,7 +22,9 @@ import java.util.concurrent.atomic.LongAdder;
 
 import org.apache.hadoop.metrics2.MetricsInfo;
 import org.apache.hadoop.metrics2.MetricsRecordBuilder;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MutableFastCounter extends MutableCounter {
 
   private final LongAdder counter;
index 9e726c2..667b3f5 100644 (file)
           </systemPropertyVariables>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <!-- General Resources -->
     <pluginManagement>
index 7a79acc..5869ce3 100644 (file)
 package org.apache.hadoop.hbase.http;
 
 import java.util.Map;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A container interface to add javax.servlet.Filter.
  */
+@InterfaceAudience.Private
 public interface FilterContainer {
   /**
    * Add a filter to the container.
index d317343..7e8595e 100644 (file)
 package org.apache.hadoop.hbase.http;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Initialize a javax.servlet.Filter.
  */
+@InterfaceAudience.Private
 public abstract class FilterInitializer {
   /**
    * Initialize a Filter to a FilterContainer.
index 7f4bb83..e2eebb2 100644 (file)
@@ -20,11 +20,13 @@ package org.apache.hadoop.hbase.http;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This class is responsible for quoting HTML characters.
  */
-public class HtmlQuoting {
+@InterfaceAudience.Private
+public final class HtmlQuoting {
   private static final byte[] ampBytes = "&amp;".getBytes();
   private static final byte[] aposBytes = "&apos;".getBytes();
   private static final byte[] gtBytes = "&gt;".getBytes();
@@ -212,4 +214,5 @@ public class HtmlQuoting {
     }
   }
 
+  private HtmlQuoting() {}
 }
index 243da1b..c83fa4f 100644 (file)
 package org.apache.hadoop.hbase.http;
 
 import java.util.HashMap;
-
 import org.apache.commons.logging.LogConfigurationException;
 import org.apache.commons.logging.impl.Log4JLogger;
 import org.apache.log4j.Appender;
 import org.apache.log4j.LogManager;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.eclipse.jetty.server.NCSARequestLog;
 import org.eclipse.jetty.server.RequestLog;
 import org.slf4j.Logger;
@@ -32,7 +32,8 @@ import org.slf4j.impl.Log4jLoggerAdapter;
 /**
  * RequestLog object for use with Http
  */
-public class HttpRequestLog {
+@InterfaceAudience.Private
+public final class HttpRequestLog {
 
   private static final Logger LOG = LoggerFactory.getLogger(HttpRequestLog.class);
   private static final HashMap<String, String> serverToComponent;
@@ -101,4 +102,6 @@ public class HttpRequestLog {
       return null;
     }
   }
+
+  private HttpRequestLog() {}
 }
index 8039b34..b6ce3c1 100644 (file)
@@ -19,10 +19,12 @@ package org.apache.hadoop.hbase.http;
 
 import org.apache.log4j.spi.LoggingEvent;
 import org.apache.log4j.AppenderSkeleton;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Log4j Appender adapter for HttpRequestLog
  */
+@InterfaceAudience.Private
 public class HttpRequestLogAppender extends AppenderSkeleton {
 
   private String filename;
index 0b33fd1..777ced0 100644 (file)
  */
 package org.apache.hadoop.hbase.http;
 
-import org.eclipse.jetty.security.ConstraintSecurityHandler;
-import org.eclipse.jetty.util.security.Constraint;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
 import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
 
 /**
  * HttpServer utility.
  */
-public class HttpServerUtil {
+@InterfaceAudience.Private
+public final class HttpServerUtil {
   /**
    * Add constraints to a Jetty Context to disallow undesirable Http methods.
    * @param ctxHandler The context to modify
@@ -49,4 +51,6 @@ public class HttpServerUtil {
 
     ctxHandler.setSecurityHandler(securityHandler);
   }
+
+  private HttpServerUtil() {}
 }
index 13d6c40..b42c270 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.http.jmx;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.lang.management.ManagementFactory;
-
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
@@ -30,9 +29,9 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.apache.hadoop.hbase.http.HttpServer;
 import org.apache.hadoop.hbase.util.JSONBean;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -110,6 +109,7 @@ import org.slf4j.LoggerFactory;
  * </p>
  *
  */
+@InterfaceAudience.Private
 public class JMXJsonServlet extends HttpServlet {
   private static final Logger LOG = LoggerFactory.getLogger(JMXJsonServlet.class);
 
index 0d40972..2f62313 100644 (file)
@@ -24,28 +24,26 @@ import java.io.PrintWriter;
 import java.net.URL;
 import java.net.URLConnection;
 import java.util.regex.Pattern;
-
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.apache.commons.logging.impl.Jdk14Logger;
 import org.apache.commons.logging.impl.Log4JLogger;
+import org.apache.hadoop.hbase.http.HttpServer;
+import org.apache.hadoop.util.ServletUtil;
+import org.apache.log4j.LogManager;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.yetus.audience.InterfaceStability;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.impl.Log4jLoggerAdapter;
-import org.apache.hadoop.hbase.http.HttpServer;
-import org.apache.hadoop.util.ServletUtil;
-import org.apache.log4j.LogManager;
 
 /**
  * Change log level in runtime.
  */
-@InterfaceStability.Evolving
-public class LogLevel {
+@InterfaceAudience.Private
+public final class LogLevel {
   public static final String USAGES = "\nUsage: General options are:\n"
       + "\t[-getlevel <host:httpPort> <name>]\n"
       + "\t[-setlevel <host:httpPort> <name> <level>]\n";
@@ -174,4 +172,6 @@ public class LogLevel {
       out.println(MARKER + "Effective level: <b>" + lev + "</b><br />");
     }
   }
+
+  private LogLevel() {}
 }
index 805b6df..9290f6f 100644 (file)
                 -verbose:gc -XX:+PrintCommandLineFlags  -XX:+PrintFlagsFinal</argLine>
           </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
index c34516c..1dcb1b1 100644 (file)
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-source-plugin</artifactId>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 01248ba..11e6c08 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.mapreduce;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -37,6 +36,7 @@ import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
 import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,6 +45,7 @@ import org.slf4j.LoggerFactory;
  * This code was borrowed from Apache Crunch project.
  * Updated to the recent version of HBase.
  */
+@InterfaceAudience.Private
 public class HFileInputFormat extends FileInputFormat<NullWritable, Cell> {
 
   private static final Logger LOG = LoggerFactory.getLogger(HFileInputFormat.class);
index e1c69a5..b67225e 100644 (file)
@@ -26,7 +26,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.fs.FSDataInputStream;
@@ -54,12 +53,15 @@ import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;
 import org.apache.hadoop.util.GenericOptionsParser;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.hbase.thirdparty.com.google.common.base.Charsets;
 import org.apache.hbase.thirdparty.com.google.common.base.Throwables;
 import org.apache.hbase.thirdparty.com.google.common.collect.Ordering;
 
+@InterfaceAudience.Private
 public class HashTable extends Configured implements Tool {
 
   private static final Logger LOG = LoggerFactory.getLogger(HashTable.class);
index 24efbb3..0127b51 100644 (file)
@@ -18,8 +18,6 @@
  */
 package org.apache.hadoop.hbase.mapreduce;
 
-import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
-
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -35,6 +33,9 @@ import java.util.jar.JarOutputStream;
 import java.util.jar.Manifest;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
+import org.apache.yetus.audience.InterfaceAudience;
+
+import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
 
 /**
  * Finds the Jar for a class. If the class is in a directory in the
@@ -44,7 +45,8 @@ import java.util.zip.ZipOutputStream;
  *
  * This file was forked from hadoop/common/branches/branch-2@1377176.
  */
-public class JarFinder {
+@InterfaceAudience.Private
+public final class JarFinder {
 
   private static void copyToZipStream(File file, ZipEntry entry,
                               ZipOutputStream zos) throws IOException {
@@ -183,4 +185,6 @@ public class JarFinder {
     }
     return null;
   }
+
+  private JarFinder() {}
 }
index 5cd87ae..ca82e2a 100644 (file)
@@ -22,7 +22,6 @@ import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
@@ -39,6 +38,7 @@ import org.apache.hadoop.mapreduce.StatusReporter;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hadoop.mapreduce.TaskAttemptID;
 import org.apache.hadoop.util.ReflectionUtils;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,6 +57,7 @@ import org.slf4j.LoggerFactory;
  * <p>
  */
 
+@InterfaceAudience.Private
 public class MultithreadedTableMapper<K2, V2> extends TableMapper<K2, V2> {
   private static final Logger LOG = LoggerFactory.getLogger(MultithreadedTableMapper.class);
   private Class<? extends Mapper<ImmutableBytesWritable, Result,K2,V2>> mapClass;
index 99333ad..9b4625b 100644 (file)
@@ -18,9 +18,8 @@
 package org.apache.hadoop.hbase.mapreduce;
 
 import java.io.IOException;
-import java.util.Iterator;
 import java.util.Collections;
-
+import java.util.Iterator;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.fs.FileStatus;
@@ -48,10 +47,13 @@ import org.apache.hadoop.mapreduce.lib.output.NullOutputFormat;
 import org.apache.hadoop.util.GenericOptionsParser;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.hbase.thirdparty.com.google.common.base.Throwables;
 
+@InterfaceAudience.Private
 public class SyncTable extends Configured implements Tool {
 
   private static final Logger LOG = LoggerFactory.getLogger(SyncTable.class);
index fac4875..85eebc5 100644 (file)
@@ -64,6 +64,7 @@ import org.apache.hadoop.mapreduce.MRJobConfig;
 import org.apache.hadoop.mapreduce.lib.output.NullOutputFormat;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -79,6 +80,7 @@ import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesti
  * Two counters are provided, Verifier.Counters.GOODROWS and BADROWS. The reason
  * for a why a row is different is shown in the map's log.
  */
+@InterfaceAudience.Private
 public class VerifyReplication extends Configured implements Tool {
 
   private static final Logger LOG =
index 1c8a482..d0cfaa0 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
index 062ac68..a61e33e 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
index b94df8f..807b61f 100644 (file)
           <skipAssembly>true</skipAssembly>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
index 6517b3d..1eafbd0 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 1d1814b..e6d546e 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 3d1953e..de2124f 100644 (file)
@@ -17,6 +17,8 @@
  */
 package com.google.protobuf;  // This is a lie.
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * Helper class to extract byte arrays from {@link ByteString} without copy.
  * <p>
@@ -27,6 +29,7 @@ package com.google.protobuf;  // This is a lie.
  *
  * @since 0.96.1
  */
+@InterfaceAudience.Private
 public final class HBaseZeroCopyByteString extends LiteralByteString {
   // Gotten from AsyncHBase code base with permission.
   /** Private constructor so this class cannot be instantiated. */
index c04d65e..d05c60e 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index c182f65..e9a3a8b 100644 (file)
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 5ea8a31..1c137e4 100644 (file)
@@ -20,10 +20,8 @@ package org.apache.hadoop.hbase.rest;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.List;
-
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.StreamingOutput;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.client.Result;
@@ -32,9 +30,11 @@ import org.apache.hadoop.hbase.rest.model.CellModel;
 import org.apache.hadoop.hbase.rest.model.CellSetModel;
 import org.apache.hadoop.hbase.rest.model.RowModel;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@InterfaceAudience.Private
 public class ProtobufStreamingOutput implements StreamingOutput {
   private static final Logger LOG = LoggerFactory.getLogger(ProtobufStreamingOutput.class);
 
index 5dfa58c..216a3fc 100644 (file)
@@ -24,19 +24,19 @@ import static org.apache.hadoop.hbase.rest.Constants.REST_DNS_NAMESERVER;
 import java.io.IOException;
 import java.util.Map;
 import java.util.Properties;
-
 import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.util.DNS;
 import org.apache.hadoop.hbase.util.Strings;
 import org.apache.hadoop.security.SecurityUtil;
 import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@InterfaceAudience.Private
 public class AuthFilter extends AuthenticationFilter {
   private static final Logger LOG = LoggerFactory.getLogger(AuthFilter.class);
   private static final String REST_PREFIX = "hbase.rest.authentication.";
index d56f250..2d9a10d 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
index 950e97f..fd4d435 100644 (file)
           </systemPropertyVariables>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <!-- General Resources -->
     <pluginManagement>
index 11da20f..fff68c7 100644 (file)
@@ -19,10 +19,12 @@ package org.apache.hadoop.hbase;
 
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Thread factory that creates daemon threads
  */
+@InterfaceAudience.Private
 public class DaemonThreadFactory implements ThreadFactory {
   private static final AtomicInteger poolNumber = new AtomicInteger(1);
   private final ThreadGroup group;
index 8ab139f..c78f3b3 100644 (file)
@@ -20,12 +20,14 @@ package org.apache.hadoop.hbase;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HealthChecker.HealthCheckerExitStatus;
 import org.apache.hadoop.util.StringUtils;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * The Class HealthCheckChore for running health checker regularly.
  */
+@InterfaceAudience.Private
 public class HealthCheckChore extends ScheduledChore {
   private static final Logger LOG = LoggerFactory.getLogger(HealthCheckChore.class);
   private HealthChecker healthChecker;
index 6fdc77e..5008354 100644 (file)
  */
 package org.apache.hadoop.hbase;
 
-import com.google.protobuf.Service;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.CoprocessorEnvironment;
-import org.apache.hadoop.hbase.coprocessor.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.rmi.registry.LocateRegistry;
@@ -34,13 +26,20 @@ import java.rmi.server.RMIClientSocketFactory;
 import java.rmi.server.RMIServerSocketFactory;
 import java.rmi.server.UnicastRemoteObject;
 import java.util.HashMap;
-import java.util.Optional;
-
 import javax.management.MBeanServer;
 import javax.management.remote.JMXConnectorServer;
 import javax.management.remote.JMXConnectorServerFactory;
 import javax.management.remote.JMXServiceURL;
 import javax.management.remote.rmi.RMIConnectorServer;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor;
+import org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment;
+import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
+import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessor;
+import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessorEnvironment;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Pluggable JMX Agent for HBase(to fix the 2 random TCP ports issue
@@ -49,6 +48,7 @@ import javax.management.remote.rmi.RMIConnectorServer;
  * 2)support password authentication
  * 3)support subset of SSL (with default configuration)
  */
+@InterfaceAudience.Private
 public class JMXListener implements MasterCoprocessor, RegionServerCoprocessor {
   private static final Logger LOG = LoggerFactory.getLogger(JMXListener.class);
   public static final String RMI_REGISTRY_PORT_CONF_KEY = ".rmi.registry.port";
index d505d6f..5dffb73 100644 (file)
@@ -13,14 +13,15 @@ package org.apache.hadoop.hbase;
 import java.io.IOException;
 import java.net.Socket;
 import java.util.ArrayList;
-
 import javax.net.ssl.SSLSocket;
 import javax.rmi.ssl.SslRMIClientSocketFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Avoid SSL V3.0 "Poodle" Vulnerability - CVE-2014-3566
  */
 @SuppressWarnings("serial")
+@InterfaceAudience.Private
 public class SslRMIClientSocketFactorySecure extends SslRMIClientSocketFactory {
   @Override
   public Socket createSocket(String host, int port) throws IOException {
index 3583afe..8a92236 100644 (file)
@@ -14,14 +14,15 @@ import java.io.IOException;
 import java.net.ServerSocket;
 import java.net.Socket;
 import java.util.ArrayList;
-
 import javax.net.ssl.SSLSocket;
 import javax.net.ssl.SSLSocketFactory;
 import javax.rmi.ssl.SslRMIServerSocketFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Avoid SSL V3.0 "Poodle" Vulnerability - CVE-2014-3566
  */
+@InterfaceAudience.Private
 public class SslRMIServerSocketFactorySecure extends SslRMIServerSocketFactory {
   // If you add more constructors, you may have to change the rest of this implementation,
   // which assumes an empty constructor, i.e. there are no specially enabled protocols or
index 3e911a8..f0b3a41 100644 (file)
@@ -25,13 +25,13 @@ import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;
 import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
 import org.apache.hadoop.hbase.zookeeper.ZNodePaths;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,7 +48,8 @@ import org.slf4j.LoggerFactory;
  * file, and use it to delete it. for a master, as the znode path constant whatever the server, we
  * check its content to make sure that the backup server is not now in charge.</p>
  */
-public class ZNodeClearer {
+@InterfaceAudience.Private
+public final class ZNodeClearer {
   private static final Logger LOG = LoggerFactory.getLogger(ZNodeClearer.class);
 
   private ZNodeClearer() {}
index 93c9690..a4daaf0 100644 (file)
@@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.backup.example;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
-
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory;
  * <p>
  * It is internally synchronized to ensure consistent view of the table state.
  */
+@InterfaceAudience.Private
 public class HFileArchiveTableMonitor {
   private static final Logger LOG = LoggerFactory.getLogger(HFileArchiveTableMonitor.class);
   private final Set<String> archivedTables = new TreeSet<>();
index 9ea67c1..bc3d85e 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.apache.hadoop.hbase.fs;
 
+import edu.umd.cs.findbugs.annotations.Nullable;
 import java.io.Closeable;
 import java.io.IOException;
 import java.lang.reflect.Field;
@@ -30,7 +31,6 @@ import java.lang.reflect.Modifier;
 import java.lang.reflect.Proxy;
 import java.lang.reflect.UndeclaredThrowableException;
 import java.net.URI;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FileSystem;
@@ -52,16 +52,16 @@ import org.apache.hadoop.hdfs.protocol.LocatedBlocks;
 import org.apache.hadoop.hdfs.server.blockmanagement.BlockStoragePolicySuite;
 import org.apache.hadoop.ipc.RPC;
 import org.apache.hadoop.util.Progressable;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import edu.umd.cs.findbugs.annotations.Nullable;
-
 /**
  * An encapsulation for the FileSystem object that hbase uses to access
  * data. This class allows the flexibility of using
  * separate filesystem objects for reading and writing hfiles and wals.
  */
+@InterfaceAudience.Private
 public class HFileSystem extends FilterFileSystem {
   public static final Logger LOG = LoggerFactory.getLogger(HFileSystem.class);
 
@@ -128,8 +128,8 @@ public class HFileSystem extends FilterFileSystem {
   }
 
   /**
-   * Returns the filesystem that is specially setup for 
-   * doing reads from storage. This object avoids doing 
+   * Returns the filesystem that is specially setup for
+   * doing reads from storage. This object avoids doing
    * checksum verifications for reads.
    * @return The FileSystem object that can be used to read data
    *         from files.
@@ -473,7 +473,7 @@ public class HFileSystem extends FilterFileSystem {
   }
 
   /**
-   * The org.apache.hadoop.fs.FilterFileSystem does not yet support 
+   * The org.apache.hadoop.fs.FilterFileSystem does not yet support
    * createNonRecursive. This is a hadoop bug and when it is fixed in Hadoop,
    * this definition will go away.
    */
index 344819b..3634ccb 100644 (file)
@@ -20,8 +20,11 @@ package org.apache.hadoop.hbase.io;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
 import org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactory;
+import org.apache.yetus.audience.InterfaceAudience;
+
 import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
 
+@InterfaceAudience.Private
 public class MetricsIO {
 
   private final MetricsIOSource source;
index 82eb74c..1ce762a 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.io;
 
 import org.apache.hadoop.hbase.io.hfile.HFile;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsIOWrapperImpl implements MetricsIOWrapper {
 
   @Override
index bb80abe..054d54b 100644 (file)
@@ -19,11 +19,13 @@ package org.apache.hadoop.hbase.io.hfile;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.hadoop.hbase.metrics.impl.FastLongHistogram;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Snapshot of block cache age in cache.
  * This object is preferred because we can control how it is serialized out when JSON'ing.
  */
+@InterfaceAudience.Private
 @JsonIgnoreProperties({"ageHistogram", "snapshot"})
 public class AgeSnapshot {
 
index 9d4ac87..d2ac6f0 100644 (file)
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.io.hfile;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public enum BlockPriority {
   /**
    * Accessed a single time (used for scan-resistance)
index 4a5bb64..b8f8357 100644 (file)
 package org.apache.hadoop.hbase.io.hfile;
 
 import org.apache.hadoop.hbase.Cell;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * BlockWithScanInfo is wrapper class for HFileBlock with other attributes. These attributes are
  * supposed to be much cheaper to be maintained in each caller thread than in HFileBlock itself.
  */
+@InterfaceAudience.Private
 public class BlockWithScanInfo {
   private final HFileBlock hFileBlock;
   /**
index ce8d533..175fb83 100644 (file)
@@ -28,15 +28,16 @@ import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Pattern;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class PrefetchExecutor {
+@InterfaceAudience.Private
+public final class PrefetchExecutor {
 
   private static final Logger LOG = LoggerFactory.getLogger(PrefetchExecutor.class);
 
@@ -130,9 +131,10 @@ public class PrefetchExecutor {
   public static boolean isCompleted(Path path) {
     Future<?> future = prefetchFutures.get(path);
     if (future != null) {
-      return future.isDone(); 
+      return future.isDone();
     }
     return true;
   }
 
+  private PrefetchExecutor() {}
 }
index 2fab38a..9ca2927 100644 (file)
@@ -17,5 +17,8 @@
  */
 package org.apache.hadoop.hbase.ipc;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 @SuppressWarnings("serial")
 public class EmptyServiceNameException extends FatalConnectionException {}
index d379e5f..ce0f86d 100644 (file)
@@ -23,9 +23,9 @@ import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.DaemonThreadFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,6 +36,7 @@ import org.apache.hbase.thirdparty.io.netty.util.internal.StringUtil;
  *
  * This can be used for HMaster, where no prioritization is needed.
  */
+@InterfaceAudience.Private
 public class FifoRpcScheduler extends RpcScheduler {
   private static final Logger LOG = LoggerFactory.getLogger(FifoRpcScheduler.class);
   private final int handlerCount;
index 4afcc33..8753ebb 100644 (file)
@@ -19,6 +19,9 @@
 
 package org.apache.hadoop.hbase.ipc;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public class MetricsHBaseServerWrapperImpl implements MetricsHBaseServerWrapper {
 
   private RpcServer server;
index 9e51d2c..ca1546c 100644 (file)
@@ -19,14 +19,15 @@ package org.apache.hadoop.hbase.ipc;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-
 import org.apache.hadoop.hbase.HConstants;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Annotation which decorates RPC methods to denote the relative priority among other RPCs in the
  * same server. Provides a basic notion of quality of service (QOS).
  */
 @Retention(RetentionPolicy.RUNTIME)
+@InterfaceAudience.Private
 public @interface QosPriority {
   int priority() default HConstants.NORMAL_QOS;
 }
index 87e78c2..5b4a2c2 100644 (file)
  */
 package org.apache.hadoop.hbase.ipc;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 @SuppressWarnings("serial")
+@InterfaceAudience.Private
 public class UnknownServiceException extends FatalConnectionException {
   UnknownServiceException(final String msg) {
     super(msg);
index f25f3bf..61eb28f 100644 (file)
  */
 package org.apache.hadoop.hbase.master;
 
-import org.apache.hbase.thirdparty.com.google.protobuf.Message;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.regionserver.AnnotationReadingPriorityFunction;
+import org.apache.hadoop.hbase.regionserver.RSRpcServices;
+import org.apache.hadoop.hbase.security.User;
+import org.apache.yetus.audience.InterfaceAudience;
+
+import org.apache.hbase.thirdparty.com.google.protobuf.Message;
+
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos;
-import org.apache.hadoop.hbase.regionserver.AnnotationReadingPriorityFunction;
-import org.apache.hadoop.hbase.regionserver.RSRpcServices;
-import org.apache.hadoop.hbase.security.User;
 
 /**
  * Priority function specifically for the master.
@@ -41,6 +44,7 @@ import org.apache.hadoop.hbase.security.User;
  * that all requests to transition meta are handled in different threads from other report region
  * in transition calls.
  */
+@InterfaceAudience.Private
 public class MasterAnnotationReadingPriorityFunction extends AnnotationReadingPriorityFunction {
   public MasterAnnotationReadingPriorityFunction(final RSRpcServices rpcServices) {
     this(rpcServices, rpcServices.getClass());
index 7d7dd81..d13ffe9 100644 (file)
 
 package org.apache.hadoop.hbase.master;
 
+import static org.apache.hadoop.hbase.master.MetricsMaster.convertToProcedureMetrics;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
 import org.apache.hadoop.hbase.procedure2.ProcedureMetrics;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import static org.apache.hadoop.hbase.master.MetricsMaster.convertToProcedureMetrics;
-
+@InterfaceAudience.Private
 public class MetricsAssignmentManager {
   private final MetricsAssignmentManagerSource assignmentManagerSource;
 
index 45dbeb8..609ac19 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsMasterFileSystem {
 
   private final MetricsMasterFileSystemSource source;
index 2d7c797..483552d 100644 (file)
@@ -19,7 +19,9 @@
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 
+@InterfaceAudience.Private
 public class MetricsSnapshot {
 
   private final MetricsSnapshotSource source;
index 36f57f2..44dfe41 100644 (file)
@@ -51,6 +51,7 @@ import org.apache.hadoop.hbase.master.MasterServices;
 import org.apache.hadoop.hbase.master.RackManager;
 import org.apache.hadoop.hbase.master.RegionPlan;
 import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action.Type;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,6 +68,7 @@ import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
  * actual balancing algorithm.
  *
  */
+@InterfaceAudience.Private
 public abstract class BaseLoadBalancer implements LoadBalancer {
   protected static final int MIN_SERVER_BALANCE = 2;
   private volatile boolean stopped = false;
index a783a07..5d1e1cc 100644 (file)
@@ -21,13 +21,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.NavigableMap;
 import java.util.TreeMap;
-
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Class used to hold the current state of the cluster and how balanced it is.
  */
+@InterfaceAudience.Private
 public class ClusterLoadState {
   private final Map<ServerName, List<RegionInfo>> clusterState;
   private final NavigableMap<ServerAndLoad, List<RegionInfo>> serversByLoad;
index b652610..5a6659e 100644 (file)
@@ -44,6 +44,7 @@ import org.apache.hadoop.hbase.master.LoadBalancer;
 import org.apache.hadoop.hbase.master.MasterServices;
 import org.apache.hadoop.hbase.master.RegionPlan;
 import org.apache.hadoop.hbase.util.Pair;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -66,6 +67,7 @@ import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
  * {@link org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.CandidateGenerator}
  *
  */
+@InterfaceAudience.Private
 public class FavoredStochasticBalancer extends StochasticLoadBalancer implements
     FavoredNodesPromoter {
 
index 3707536..c421269 100644 (file)
 package org.apache.hadoop.hbase.master.balancer;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Faced for exposing metrics about the balancer.
  */
+@InterfaceAudience.Private
 public class MetricsBalancer {
 
   private MetricsBalancerSource source = null;
index 850a9f5..ee24ff3 100644 (file)
 package org.apache.hadoop.hbase.master.balancer;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This metrics balancer uses extended source for stochastic load balancer
  * to report its related metrics to JMX. For details, refer to HBASE-13965
  */
+@InterfaceAudience.Private
 public class MetricsStochasticBalancer extends MetricsBalancer {
   /**
    * Use the stochastic source instead of the default source.
index ed0ec9f..b587200 100644 (file)
  */
 package org.apache.hadoop.hbase.master.cleaner;
 
+import java.util.Map;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.hbase.BaseConfigurable;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
 
-import java.util.Map;
-
 /**
  * Base class for file cleaners which allows subclasses to implement a simple
  * isFileDeletable method (which used to be the FileCleanerDelegate contract).
  */
+@InterfaceAudience.Private
 public abstract class BaseFileCleanerDelegate extends BaseConfigurable
 implements FileCleanerDelegate {
 
index fdf5141..46f6217 100644 (file)
  */
 package org.apache.hadoop.hbase.master.cleaner;
 
-import org.apache.hadoop.hbase.conf.ConfigurationObserver;
-import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
-import org.apache.hbase.thirdparty.com.google.common.base.Predicate;
-import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableSet;
-import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
-import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
-
 import java.io.IOException;
 import java.util.Comparator;
 import java.util.HashMap;
@@ -34,24 +27,32 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ForkJoinPool;
 import java.util.concurrent.RecursiveTask;
 import java.util.concurrent.atomic.AtomicBoolean;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.ScheduledChore;
 import org.apache.hadoop.hbase.Stoppable;
+import org.apache.hadoop.hbase.conf.ConfigurationObserver;
 import org.apache.hadoop.hbase.util.FSUtils;
 import org.apache.hadoop.ipc.RemoteException;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
+import org.apache.hbase.thirdparty.com.google.common.base.Predicate;
+import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableSet;
+import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+
 /**
  * Abstract Cleaner that uses a chain of delegates to clean a directory of files
  * @param <T> Cleaner delegate class that is dynamically loaded from configuration
  */
 @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD",
     justification="TODO: Fix. It is wonky have static pool initialized from instance")
+@InterfaceAudience.Private
 public abstract class CleanerChore<T extends FileCleanerDelegate> extends ScheduledChore
     implements ConfigurationObserver {
 
@@ -315,7 +316,7 @@ public abstract class CleanerChore<T extends FileCleanerDelegate> extends Schedu
       }
 
       Iterable<FileStatus> filteredFiles = cleaner.getDeletableFiles(deletableValidFiles);
-      
+
       // trace which cleaner is holding on to each file
       if (LOG.isTraceEnabled()) {
         ImmutableSet<FileStatus> filteredFileSet = ImmutableSet.copyOf(filteredFiles);
@@ -325,10 +326,10 @@ public abstract class CleanerChore<T extends FileCleanerDelegate> extends Schedu
           }
         }
       }
-      
+
       deletableValidFiles = filteredFiles;
     }
-    
+
     Iterable<FileStatus> filesToDelete = Iterables.concat(invalidFiles, deletableValidFiles);
     return deleteFiles(filesToDelete) == files.size();
   }
index 6c78914..358fd61 100644 (file)
@@ -32,6 +32,7 @@ import org.apache.hadoop.hbase.master.ServerListener;
 import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 import org.apache.hadoop.ipc.RemoteException;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,6 +56,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RemoteProce
 /**
  * A remote procecdure dispatcher for regionservers.
  */
+@InterfaceAudience.Private
 public class RSProcedureDispatcher
     extends RemoteProcedureDispatcher<MasterProcedureEnv, ServerName>
     implements ServerListener {
index 2234a1b..7572495 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.master.procedure;
 
 import java.io.IOException;
 import java.util.Set;
-
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.RegionInfo;
@@ -35,11 +34,13 @@ import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
 import org.apache.hadoop.hbase.procedure2.ProcedureYieldException;
 import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;
 import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
+
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverMetaState;
@@ -50,6 +51,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.R
  * assigning meta region/s. Any place where meta is accessed and requires meta to be online, need to
  * submit this procedure instead of duplicating steps to recover meta in the code.
  */
+@InterfaceAudience.Private
 public class RecoverMetaProcedure
     extends StateMachineProcedure<MasterProcedureEnv, MasterProcedureProtos.RecoverMetaState>
     implements TableProcedureInterface {
index 3d66072..5d8d6fa 100644 (file)
@@ -22,7 +22,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
-
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.RegionInfo;
@@ -36,6 +35,7 @@ import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
 import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
 import org.apache.hadoop.hbase.procedure2.ProcedureYieldException;
 import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,6 +53,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.S
  * queued on the rpc should have been notified about fail and should be concurrently
  * getting themselves ready to assign elsewhere.
  */
+@InterfaceAudience.Private
 public class ServerCrashProcedure
 extends StateMachineProcedure<MasterProcedureEnv, ServerCrashState>
 implements ServerProcedureInterface {
index 222c933..736257f 100644 (file)
@@ -19,17 +19,18 @@ package org.apache.hadoop.hbase.procedure;
 
 import java.io.IOException;
 import java.util.Hashtable;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.master.MasterServices;
 import org.apache.hadoop.hbase.master.MetricsMaster;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.zookeeper.KeeperException;
 
 /**
  * Provides the globally barriered procedure framework and environment for
- * master oriented operations. {@link org.apache.hadoop.hbase.master.HMaster} 
+ * master oriented operations. {@link org.apache.hadoop.hbase.master.HMaster}
  * interacts with the loaded procedure manager through this class.
  */
+@InterfaceAudience.Private
 public class MasterProcedureManagerHost extends
     ProcedureManagerHost<MasterProcedureManager> {
 
index 4c01eb8..5ae7a44 100644 (file)
 package org.apache.hadoop.hbase.procedure;
 
 import java.io.IOException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.procedure.flush.RegionServerFlushTableProcedureManager;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
 import org.apache.hadoop.hbase.regionserver.snapshot.RegionServerSnapshotManager;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * Provides the globally barriered procedure framework and environment
- * for region server oriented operations. 
+ * for region server oriented operations.
  * {@link org.apache.hadoop.hbase.regionserver.HRegionServer} interacts
  * with the loaded procedure manager through this class.
  */
+@InterfaceAudience.Private
 public class RegionServerProcedureManagerHost extends
     ProcedureManagerHost<RegionServerProcedureManager> {
 
index 507e272..4b69244 100644 (file)
@@ -20,12 +20,12 @@ package org.apache.hadoop.hbase.procedure;
 import java.io.IOException;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
-
 import org.apache.hadoop.hbase.errorhandling.ForeignException;
 import org.apache.hadoop.hbase.errorhandling.ForeignExceptionDispatcher;
 import org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener;
 import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;
 import org.apache.hadoop.hbase.errorhandling.TimeoutExceptionInjector;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,6 +50,7 @@ import org.slf4j.LoggerFactory;
  * There is a category of procedure (ex: online-snapshots), and a user-specified instance-specific
  * barrierName. (ex: snapshot121126).
  */
+@InterfaceAudience.Private
 abstract public class Subprocedure implements Callable<Void> {
   private static final Logger LOG = LoggerFactory.getLogger(Subprocedure.class);
 
index d81d7d3..891a34e 100644 (file)
 package org.apache.hadoop.hbase.quotas;
 
 import java.io.IOException;
-
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Table;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * A {@link SpaceQuotaSnapshotNotifier} which uses the hbase:quota table.
  */
+@InterfaceAudience.Private
 public class TableSpaceQuotaSnapshotNotifier implements SpaceQuotaSnapshotNotifier {
   private static final Logger LOG = LoggerFactory.getLogger(TableSpaceQuotaSnapshotNotifier.class);
 
index 294954c..0760df8 100644 (file)
@@ -18,18 +18,20 @@ package org.apache.hadoop.hbase.quotas.policies;
 
 import java.io.IOException;
 import java.util.List;
-
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.quotas.SpaceLimitingException;
 import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A {@link SpaceViolationPolicyEnforcement} which can be treated as a singleton. When a quota is
  * not defined on a table or we lack quota information, we want to avoid creating a policy, keeping
  * this path fast.
  */
-public class MissingSnapshotViolationPolicyEnforcement extends AbstractViolationPolicyEnforcement {
+@InterfaceAudience.Private
+public final class MissingSnapshotViolationPolicyEnforcement
+  extends AbstractViolationPolicyEnforcement {
   private static final MissingSnapshotViolationPolicyEnforcement SINGLETON =
       new MissingSnapshotViolationPolicyEnforcement();
 
index 2b07a64..4d49ea2 100644 (file)
@@ -16,8 +16,6 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
-import org.apache.hadoop.hbase.util.JSONBean;
-
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -25,11 +23,14 @@ import java.lang.management.ManagementFactory;
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
+import org.apache.hadoop.hbase.util.JSONBean;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Utility for doing JSON and MBeans.
  */
-public class DumpRegionServerMetrics {
+@InterfaceAudience.Private
+public final class DumpRegionServerMetrics {
   /**
    * Dump out a subset of regionserver mbeans only, not all of them, as json on System.out.
    */
@@ -57,4 +58,6 @@ public class DumpRegionServerMetrics {
     String str = dumpMetrics();
     System.out.println(str);
   }
+
+  private DumpRegionServerMetrics() {}
 }
index 9753080..84973db 100644 (file)
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
+@InterfaceAudience.Private
 public class SteppingSplitPolicy extends IncreasingToUpperBoundRegionSplitPolicy {
   /**
    * @return flushSize * 2 if there's exactly one region of the table in question
index 03571d5..37b7059 100644 (file)
@@ -20,11 +20,12 @@ package org.apache.hadoop.hbase.regionserver.compactions;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-
 import org.apache.hadoop.hbase.regionserver.HStoreFile;
+import org.apache.yetus.audience.InterfaceAudience;
 
 @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_DOESNT_OVERRIDE_EQUALS",
   justification="It is intended to use the same equal method as superclass")
+@InterfaceAudience.Private
 public class DateTieredCompactionRequest extends CompactionRequestImpl {
   private List<Long> boundaries;
 
index efbedc5..6814640 100644 (file)
@@ -21,19 +21,22 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellBuilderType;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.ExtendedCellBuilder;
 import org.apache.hadoop.hbase.ExtendedCellBuilderFactory;
 import org.apache.hadoop.hbase.wal.WALEdit;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.hbase.thirdparty.com.google.common.base.Predicate;
+
 import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.StoreDescriptor;
 
+@InterfaceAudience.Private
 public class BulkLoadCellFilter {
   private static final Logger LOG = LoggerFactory.getLogger(BulkLoadCellFilter.class);
 
index 22e8628..a960c31 100644 (file)
@@ -54,6 +54,7 @@ import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -66,7 +67,7 @@ import org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicLongM
  * Arguments: --distributed    Polls each RS to dump information about the queue
  *            --hdfs           Reports HDFS usage by the replication queues (note: can be overestimated).
  */
-
+@InterfaceAudience.Private
 public class DumpReplicationQueues extends Configured implements Tool {
 
   private static final Logger LOG = LoggerFactory.getLogger(DumpReplicationQueues.class.getName());
index 4c8a752..af6888c 100644 (file)
@@ -22,18 +22,19 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.ClusterConnection;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.replication.HBaseReplicationEndpoint;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
 import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
 import org.apache.hbase.thirdparty.com.google.common.collect.Maps;
+
 import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
 
 /**
@@ -41,6 +42,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminServic
  * single peer to replicate to per set of data to replicate. Also handles
  * keeping track of peer availability.
  */
+@InterfaceAudience.Private
 public class ReplicationSinkManager {
 
   private static final Logger LOG = LoggerFactory.getLogger(ReplicationSinkManager.class);
index c2862de..62068fd 100644 (file)
@@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
 import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * In a scenario of Replication based Disaster/Recovery, when hbase Master-Cluster crashes, this
@@ -47,6 +48,7 @@ import org.apache.hadoop.util.ToolRunner;
  * hbase org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp
  * </pre>
  */
+@InterfaceAudience.Private
 public class ReplicationSyncUp extends Configured implements Tool {
 
   private static final long SLEEP_TIME = 10000;
index f3e4853..b25b7e2 100644 (file)
@@ -29,12 +29,12 @@ import java.util.SortedMap;
 import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
-
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.Tag;
 import org.apache.hadoop.hbase.regionserver.querymatcher.NewVersionBehaviorTracker;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,6 +42,7 @@ import org.slf4j.LoggerFactory;
  * Similar to MvccSensitiveTracker but tracks the visibility expression also before
  * deciding if a Cell can be considered deleted
  */
+@InterfaceAudience.Private
 public class VisibilityNewVersionBehaivorTracker extends NewVersionBehaviorTracker {
   private static final Logger LOG =
       LoggerFactory.getLogger(VisibilityNewVersionBehaivorTracker.class);
index 6887c31..e39d601 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.hadoop.hbase.security.visibility;
 
+import java.io.IOException;
+import java.util.Optional;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
@@ -26,9 +28,7 @@ import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessor;
 import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.RegionServerObserver;
 import org.apache.hadoop.hbase.replication.ReplicationEndpoint;
-
-import java.io.IOException;
-import java.util.Optional;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * A RegionServerObserver impl that provides the custom
@@ -37,6 +37,7 @@ import java.util.Optional;
  * replicated as string.  The value for the configuration should be
  * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.
  */
+@InterfaceAudience.Private
 public class VisibilityReplication implements RegionServerCoprocessor, RegionServerObserver {
   private Configuration conf;
   private VisibilityLabelService visibilityLabelService;
index b1ee66e..af9ce88 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.snapshot;
 
 import java.util.Arrays;
 import java.util.Locale;
-
 import org.apache.commons.cli.CommandLine;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
@@ -28,13 +27,13 @@ import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.ConnectionFactory;
 import org.apache.hadoop.hbase.client.SnapshotDescription;
 import org.apache.hadoop.hbase.client.SnapshotType;
-import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
-import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
 import org.apache.hadoop.hbase.util.AbstractHBaseTool;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This is a command line class that will snapshot a given table.
  */
+@InterfaceAudience.Private
 public class CreateSnapshot extends AbstractHBaseTool {
     private SnapshotType snapshotType = SnapshotType.FLUSH;
     private TableName tableName = null;
index 738ffc2..9311200 100644 (file)
@@ -18,6 +18,9 @@
  */
 package org.apache.hadoop.hbase.tool;
 
+import java.io.IOException;
+import java.util.Optional;
+import java.util.concurrent.atomic.AtomicLong;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
@@ -26,13 +29,10 @@ import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.RegionObserver;
 import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.regionserver.OperationStatus;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.Optional;
-import java.util.concurrent.atomic.AtomicLong;
-
 /**
  * <p>
  * This coprocessor 'shallows' all the writes. It allows to test a pure
@@ -59,7 +59,9 @@ import java.util.concurrent.atomic.AtomicLong;
  * Will return:
  * 0 row(s) in 0.0050 seconds
  * </p>
+ * TODO: It needs tests
  */
+@InterfaceAudience.Private
 public class WriteSinkCoprocessor implements RegionCoprocessor, RegionObserver {
   private static final Logger LOG = LoggerFactory.getLogger(WriteSinkCoprocessor.class);
   private final AtomicLong ops = new AtomicLong();
index b12c592..2d4de3b 100644 (file)
  */
 package org.apache.hadoop.hbase.util;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * A generic way for querying Java properties.
  */
-public class GetJavaProperty {
+@InterfaceAudience.Private
+public final class GetJavaProperty {
   public static void main(String args[]) {
     if (args.length == 0) {
       for (Object prop: System.getProperties().keySet()) {
@@ -33,4 +36,6 @@ public class GetJavaProperty {
       }
     }
   }
+
+  private GetJavaProperty() {}
 }
index fb99cba..03ed373 100644 (file)
@@ -26,11 +26,13 @@ import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.HStore;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Helper class for all utilities related to archival/retrieval of HFiles
  */
-public class HFileArchiveUtil {
+@InterfaceAudience.Private
+public final class HFileArchiveUtil {
   private HFileArchiveUtil() {
     // non-external instantiation - util class
   }
index 554d6f5..fb2a954 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.hadoop.hbase.util;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 /**
  * This class maintains mean and variation for any sequence of input provided to it.
  * It is initialized with number of rolling periods which basically means the number of past
@@ -30,6 +32,7 @@ package org.apache.hadoop.hbase.util;
  * from the start the statistics may behave like constants and may ignore short trends.
  * All operations are O(1) except the initialization which is O(N).
  */
+@InterfaceAudience.Private
 public class RollingStatCalculator {
   private double currentSum;
   private double currentSqrSum;
index 8a43d17..769d480 100644 (file)
@@ -19,7 +19,6 @@
 package org.apache.hadoop.hbase.util;
 
 import java.io.IOException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -35,12 +34,14 @@ import org.apache.hadoop.hbase.regionserver.StoreFileInfo;
 import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;
 import org.apache.hadoop.hbase.replication.regionserver.RegionReplicaReplicationEndpoint;
 import org.apache.hadoop.hbase.zookeeper.ZKConfig;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * Similar to {@link RegionReplicaUtil} but for the server side
  */
+@InterfaceAudience.Private
 public class ServerRegionReplicaUtil extends RegionReplicaUtil {
 
   private static final Logger LOG = LoggerFactory.getLogger(ServerRegionReplicaUtil.class);
index e731bd7..17da681 100644 (file)
  */
 package org.apache.hadoop.hbase.util;
 
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This class provides ShutdownHookManager shims for HBase to interact with the Hadoop 1.0.x and the
  * Hadoop 2.0+ series.
- * 
+ *
  * NOTE: No testing done against 0.22.x, or 0.21.x.
  */
+@InterfaceAudience.Private
 abstract public class ShutdownHookManager {
   private static ShutdownHookManager instance;
 
@@ -39,13 +41,13 @@ abstract public class ShutdownHookManager {
   }
 
   abstract public void addShutdownHook(Thread shutdownHook, int priority);
-  
+
   abstract public boolean removeShutdownHook(Runnable shutdownHook);
-    
+
   public static void affixShutdownHook(Thread shutdownHook, int priority) {
     instance.addShutdownHook(shutdownHook, priority);
   }
-  
+
   public static boolean deleteShutdownHook(Runnable shutdownHook) {
     return instance.removeShutdownHook(shutdownHook);
   }
@@ -56,14 +58,14 @@ abstract public class ShutdownHookManager {
     public void addShutdownHook(Thread shutdownHookThread, int priority) {
       Runtime.getRuntime().addShutdownHook(shutdownHookThread);
     }
-    
+
     @Override
     public boolean removeShutdownHook(Runnable shutdownHook) {
       Thread shutdownHookThread = null;
       if (!(shutdownHook instanceof Thread)) {
         shutdownHookThread = new Thread(shutdownHook);
       } else shutdownHookThread = (Thread) shutdownHook;
-      
+
       return Runtime.getRuntime().removeShutdownHook(shutdownHookThread);
     }
   }
@@ -72,7 +74,7 @@ abstract public class ShutdownHookManager {
     @Override
     public void addShutdownHook(Thread shutdownHookThread, int priority) {
       try {
-        Methods.call(shutdownHookManagerClass, 
+        Methods.call(shutdownHookManagerClass,
             Methods.call(shutdownHookManagerClass, null, "get", null, null),
             "addShutdownHook",
             new Class[] { Runnable.class, int.class },
@@ -81,12 +83,12 @@ abstract public class ShutdownHookManager {
         throw new RuntimeException("we could not use ShutdownHookManager.addShutdownHook", ex);
       }
     }
-    
+
     @Override
     public boolean removeShutdownHook(Runnable shutdownHook) {
       try {
         return (Boolean)
-        Methods.call(shutdownHookManagerClass, 
+        Methods.call(shutdownHookManagerClass,
             Methods.call(shutdownHookManagerClass, null, "get", null, null),
             "removeShutdownHook",
             new Class[] { Runnable.class },
index 3f5576e..f896e55 100644 (file)
@@ -26,6 +26,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
 import java.util.RandomAccess;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Simple sorted list implementation that uses {@link java.util.ArrayList} as
@@ -38,7 +39,7 @@ import java.util.RandomAccess;
  * time of invocation, so will not see any mutations to the collection during
  * their operation. Iterating over list elements manually using the
  * RandomAccess pattern involves multiple operations. For this to be safe get
- * a reference to the internal list first using get(). 
+ * a reference to the internal list first using get().
  * <p>
  * If constructed with a {@link java.util.Comparator}, the list will be sorted
  * using the comparator. Adding or changing an element using an index will
@@ -48,6 +49,7 @@ import java.util.RandomAccess;
  */
 @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="UG_SYNC_SET_UNSYNC_GET",
   justification="TODO: synchronization in here needs review!!!")
+@InterfaceAudience.Private
 public class SortedList<E> implements List<E>, RandomAccess {
   private volatile List<E> list;
   private final Comparator<? super E> comparator;
index 742a2ef..3070fb3 100644 (file)
@@ -21,11 +21,12 @@ package org.apache.hadoop.hbase.util;
 import com.codahale.metrics.Histogram;
 import com.codahale.metrics.Reservoir;
 import com.codahale.metrics.Snapshot;
-
 import java.lang.reflect.Constructor;
 import java.text.DecimalFormat;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /** Utility functions for working with Yammer Metrics. */
+@InterfaceAudience.Private
 public final class YammerHistogramUtils {
 
   // not for public consumption
index 4ca0e74..d5f5f53 100644 (file)
@@ -20,9 +20,9 @@ package org.apache.hadoop.hbase.util.hbck;
 
 import java.io.IOException;
 import java.util.Collection;
-
 import org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo;
 import org.apache.hadoop.hbase.util.HBaseFsck.TableInfo;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This interface provides callbacks for handling particular table integrity
@@ -30,6 +30,7 @@ import org.apache.hadoop.hbase.util.HBaseFsck.TableInfo;
  * and handling overlaps but currently preserves the older more specific error
  * condition codes.
  */
+@InterfaceAudience.Private
 public interface TableIntegrityErrorHandler {
 
   TableInfo getTableInfo();
@@ -48,7 +49,7 @@ public interface TableIntegrityErrorHandler {
    *    has an empty start key.
    */
   void handleRegionStartKeyNotEmpty(HbckInfo hi) throws IOException;
-  
+
   /**
    * Callback for handling case where a Table has a last region that does not
    * have an empty end key.
@@ -68,7 +69,7 @@ public interface TableIntegrityErrorHandler {
   /**
    * Callback for handling two regions that have the same start key.  This is
    * a specific case of a region overlap.
-   * @param hi1 one of the overlapping HbckInfo 
+   * @param hi1 one of the overlapping HbckInfo
    * @param hi2 the other overlapping HbckInfo
    */
   void handleDuplicateStartKeys(HbckInfo hi1, HbckInfo hi2) throws IOException;
@@ -96,7 +97,7 @@ public interface TableIntegrityErrorHandler {
    * Callback for handling a region hole between two keys.
    * @param holeStartKey key at the beginning of the region hole
    * @param holeEndKey key at the end of the region hole
-   
+
    */
   void handleHoleInRegionChain(byte[] holeStartKey, byte[] holeEndKey)
       throws IOException;
index af379fd..96039b5 100644 (file)
@@ -19,14 +19,15 @@ package org.apache.hadoop.hbase.util.hbck;
 
 import java.io.IOException;
 import java.util.Collection;
-
 import org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo;
 import org.apache.hadoop.hbase.util.HBaseFsck.TableInfo;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Simple implementation of TableIntegrityErrorHandler. Can be used as a base
  * class.
  */
+@InterfaceAudience.Private
 abstract public class TableIntegrityErrorHandlerImpl implements
     TableIntegrityErrorHandler {
   TableInfo ti;
@@ -53,7 +54,7 @@ abstract public class TableIntegrityErrorHandlerImpl implements
   @Override
   public void handleRegionStartKeyNotEmpty(HbckInfo hi) throws IOException {
   }
-  
+
   /**
    * {@inheritDoc}
    */
index 0836b5d..12b63f5 100644 (file)
@@ -22,6 +22,7 @@ import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.util.Pair;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
 import org.apache.hbase.thirdparty.io.netty.channel.Channel;
@@ -31,7 +32,8 @@ import org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup;
  * Helper class for passing netty event loop config to {@link AsyncFSWALProvider}.
  * @since 2.0.0
  */
-public class NettyAsyncFSWALConfigHelper {
+@InterfaceAudience.Private
+public final class NettyAsyncFSWALConfigHelper {
 
   private static final String EVENT_LOOP_CONFIG = "hbase.wal.async.event-loop.config";
 
@@ -59,4 +61,6 @@ public class NettyAsyncFSWALConfigHelper {
     }
     return EVENT_LOOP_CONFIG_MAP.get(name);
   }
+
+  private NettyAsyncFSWALConfigHelper() {}
 }
index 58ef7ed..8eaefaa 100644 (file)
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>findbugs-maven-plugin</artifactId>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <!-- General Resources -->
     <pluginManagement>
index 2cac0f9..74de0a0 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
index 3aeb470..05fd779 100644 (file)
           <failOnViolation>true</failOnViolation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>net.revelc.code</groupId>
+        <artifactId>warbucks-maven-plugin</artifactId>
+        <!-- TODO: remove the following config if https://issues.scala-lang.org/browse/SI-3600 is resolved -->
+        <!-- override the root config to add more filter -->
+        <configuration>
+          <ignoreRuleFailures>true</ignoreRuleFailures>
+          <rules>
+            <rule>
+              <!-- exclude the generated java files and package object-->
+              <classPattern>(?!.*(.generated.|.tmpl.|\$|org.apache.hadoop.hbase.spark.hbase.package)).*</classPattern>
+              <includeTestClasses>false</includeTestClasses>
+              <includePublicClasses>true</includePublicClasses>
+              <includePackagePrivateClasses>false</includePackagePrivateClasses>
+              <includeProtectedClasses>false</includeProtectedClasses>
+              <includePrivateClasses>false</includePrivateClasses>
+              <classAnnotationPattern>org[.]apache[.]yetus[.]audience[.]InterfaceAudience.*</classAnnotationPattern>
+            </rule>
+          </rules>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
   <profiles>
index d7c424e..8cf2c7f 100644 (file)
@@ -18,7 +18,6 @@ package org.apache.hadoop.hbase.spark.example.hbasecontext;
 
 import java.util.ArrayList;
 import java.util.List;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.TableName;
@@ -29,11 +28,13 @@ import org.apache.spark.SparkConf;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.api.java.function.Function;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This is a simple example of deleting records in HBase
  * with the bulkDelete function.
  */
+@InterfaceAudience.Private
 final public class JavaHBaseBulkDeleteExample {
 
   private JavaHBaseBulkDeleteExample() {}
index cb9e0c7..b5143de 100644 (file)
@@ -19,7 +19,6 @@ package org.apache.hadoop.hbase.spark.example.hbasecontext;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.HBaseConfiguration;
@@ -32,11 +31,13 @@ import org.apache.spark.SparkConf;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.api.java.function.Function;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This is a simple example of getting records in HBase
  * with the bulkGet function.
  */
+@InterfaceAudience.Private
 final public class JavaHBaseBulkGetExample {
 
   private JavaHBaseBulkGetExample() {}
index f0f3e79..6738059 100644 (file)
@@ -19,7 +19,6 @@ package org.apache.hadoop.hbase.spark.example.hbasecontext;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
@@ -33,6 +32,7 @@ import org.apache.spark.SparkConf;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.api.java.function.Function;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Run this example using command below:
@@ -45,6 +45,7 @@ import org.apache.spark.api.java.function.Function;
  * 'hbase org.apache.hadoop.hbase.tool.LoadIncrementalHFiles' to load the HFiles into table to
  * verify this example.
  */
+@InterfaceAudience.Private
 final public class JavaHBaseBulkLoadExample {
   private JavaHBaseBulkLoadExample() {}
 
index 5821c19..4a80b96 100644 (file)
@@ -18,7 +18,6 @@ package org.apache.hadoop.hbase.spark.example.hbasecontext;
 
 import java.util.ArrayList;
 import java.util.List;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.TableName;
@@ -29,11 +28,13 @@ import org.apache.spark.SparkConf;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.api.java.function.Function;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * This is a simple example of putting records in HBase
  * with the bulkPut function.
  */
+@InterfaceAudience.Private
 final public class JavaHBaseBulkPutExample {
 
   private JavaHBaseBulkPutExample() {}
index 8d4c092..0d4f680 100644 (file)
@@ -17,7 +17,6 @@
 package org.apache.hadoop.hbase.spark.example.hbasecontext;
 
 import java.util.List;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.TableName;
@@ -29,14 +28,15 @@ import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.spark.SparkConf;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
-
 import org.apache.spark.api.java.function.Function;
+import org.apache.yetus.audience.InterfaceAudience;
 import scala.Tuple2;
 
 /**
  * This is a simple example of scanning records from HBase
  * with the hbaseRDD function.
  */
+@InterfaceAudience.Private
 final public class JavaHBaseDistributedScan {
 
   private JavaHBaseDistributedScan() {}