From c291422ee5ba54c6b7b442511e604fd729baedd1 Mon Sep 17 00:00:00 2001 From: Chia-Ping Tsai Date: Thu, 22 Mar 2018 09:23:16 +0800 Subject: [PATCH] HBASE-20212 Make all Public classes have InterfaceAudience category --- hbase-annotations/pom.xml | 4 + hbase-client/pom.xml | 4 + .../hbase/TestInterfaceAudienceAnnotations.java | 540 --------------------- hbase-common/pom.xml | 4 + .../org/apache/hadoop/hbase/trace/TraceUtil.java | 2 + .../org/apache/hadoop/hbase/util/JSONBean.java | 11 +- .../apache/hadoop/hbase/util/JSONMetricUtil.java | 11 +- hbase-endpoint/pom.xml | 4 + hbase-examples/pom.xml | 4 + .../hbase/client/example/AsyncClientExample.java | 3 +- .../client/example/BufferedMutatorExample.java | 3 +- .../client/example/ExportEndpointExample.java | 15 +- .../hbase/client/example/HttpProxyExample.java | 3 +- .../client/example/MultiThreadedClientExample.java | 3 +- .../hbase/client/example/RefreshHFilesClient.java | 7 +- .../coprocessor/example/BulkDeleteEndpoint.java | 10 +- .../example/DelegatingInternalScanner.java | 3 +- .../example/ExampleMasterObserverWithMetrics.java | 3 +- .../example/ExampleRegionObserverWithMetrics.java | 3 +- .../coprocessor/example/RefreshHFilesEndpoint.java | 8 +- .../coprocessor/example/RowCountEndpoint.java | 10 +- .../coprocessor/example/ScanModifyingObserver.java | 3 +- .../example/ValueRewritingObserver.java | 3 +- .../example/WriteHeavyIncrementObserver.java | 3 +- .../example/ZooKeeperScanPolicyObserver.java | 3 +- .../hadoop/hbase/mapreduce/IndexBuilder.java | 3 +- .../hadoop/hbase/mapreduce/SampleUploader.java | 3 +- .../org/apache/hadoop/hbase/thrift/DemoClient.java | 4 +- .../apache/hadoop/hbase/thrift/HttpDoAsClient.java | 5 +- .../apache/hadoop/hbase/thrift2/DemoClient.java | 5 +- .../java/org/apache/hadoop/hbase/types/PBCell.java | 5 +- hbase-external-blockcache/pom.xml | 4 + hbase-hadoop-compat/pom.xml | 4 + .../apache/hadoop/hbase/CompatibilityFactory.java | 2 + .../hbase/CompatibilitySingletonFactory.java | 2 + .../apache/hadoop/hbase/io/MetricsIOSource.java | 2 + .../apache/hadoop/hbase/io/MetricsIOWrapper.java | 3 + .../hadoop/hbase/ipc/MetricsHBaseServerSource.java | 2 + .../hbase/ipc/MetricsHBaseServerSourceFactory.java | 3 + .../hbase/ipc/MetricsHBaseServerWrapper.java | 3 + .../master/MetricsAssignmentManagerSource.java | 2 + .../master/MetricsMasterFileSystemSource.java | 2 + .../hbase/master/MetricsMasterProcSource.java | 2 + .../master/MetricsMasterProcSourceFactory.java | 3 + .../hbase/master/MetricsMasterQuotaSource.java | 2 + .../master/MetricsMasterQuotaSourceFactory.java | 3 + .../hadoop/hbase/master/MetricsMasterSource.java | 2 + .../hbase/master/MetricsMasterSourceFactory.java | 3 + .../hadoop/hbase/master/MetricsMasterWrapper.java | 2 + .../hadoop/hbase/master/MetricsSnapshotSource.java | 2 + .../master/balancer/MetricsBalancerSource.java | 2 + .../balancer/MetricsStochasticBalancerSource.java | 7 +- .../apache/hadoop/hbase/metrics/BaseSource.java | 3 + .../hbase/metrics/ExceptionTrackingSource.java | 3 + .../hbase/metrics/JvmPauseMonitorSource.java | 3 + .../apache/hadoop/hbase/metrics/MBeanSource.java | 2 + .../hadoop/hbase/metrics/OperationMetrics.java | 3 + .../MetricsHeapMemoryManagerSource.java | 2 + .../regionserver/MetricsRegionAggregateSource.java | 2 + .../MetricsRegionServerQuotaSource.java | 2 + .../regionserver/MetricsRegionServerSource.java | 2 + .../MetricsRegionServerSourceFactory.java | 2 + .../regionserver/MetricsRegionServerWrapper.java | 3 + .../hbase/regionserver/MetricsRegionSource.java | 2 + .../hbase/regionserver/MetricsRegionWrapper.java | 3 + .../regionserver/MetricsTableAggregateSource.java | 2 + .../hbase/regionserver/MetricsTableLatencies.java | 3 + .../hbase/regionserver/MetricsTableSource.java | 3 + .../regionserver/MetricsTableWrapperAggregate.java | 2 + .../hbase/regionserver/wal/MetricsWALSource.java | 2 + .../regionserver/MetricsReplicationSinkSource.java | 3 + .../regionserver/MetricsReplicationSource.java | 2 + .../MetricsReplicationSourceFactory.java | 3 + .../MetricsReplicationSourceSource.java | 2 + .../hadoop/hbase/rest/MetricsRESTSource.java | 10 +- .../hbase/thrift/MetricsThriftServerSource.java | 2 + .../thrift/MetricsThriftServerSourceFactory.java | 3 + .../hbase/zookeeper/MetricsZooKeeperSource.java | 2 + .../apache/hadoop/metrics2/MetricHistogram.java | 3 + .../apache/hadoop/metrics2/MetricsExecutor.java | 2 + hbase-hadoop2-compat/pom.xml | 4 + .../hadoop/hbase/io/MetricsIOSourceImpl.java | 2 + .../hbase/metrics/ExceptionTrackingSourceImpl.java | 2 + .../impl/GlobalMetricRegistriesAdapter.java | 9 +- .../impl/HBaseMetrics2HadoopMetricsAdapter.java | 3 +- .../MetricsReplicationGlobalSourceSource.java | 2 + .../MetricsReplicationSinkSourceImpl.java | 3 +- .../MetricsReplicationSourceFactoryImpl.java | 3 + .../MetricsReplicationSourceSourceImpl.java | 2 + .../metrics2/lib/DefaultMetricsSystemHelper.java | 2 + .../hadoop/metrics2/lib/MutableFastCounter.java | 2 + hbase-http/pom.xml | 4 + .../apache/hadoop/hbase/http/FilterContainer.java | 2 + .../hadoop/hbase/http/FilterInitializer.java | 2 + .../org/apache/hadoop/hbase/http/HtmlQuoting.java | 5 +- .../apache/hadoop/hbase/http/HttpRequestLog.java | 7 +- .../hadoop/hbase/http/HttpRequestLogAppender.java | 2 + .../apache/hadoop/hbase/http/HttpServerUtil.java | 10 +- .../hadoop/hbase/http/jmx/JMXJsonServlet.java | 4 +- .../org/apache/hadoop/hbase/http/log/LogLevel.java | 14 +- hbase-it/pom.xml | 4 + hbase-mapreduce/pom.xml | 4 + .../hadoop/hbase/mapreduce/HFileInputFormat.java | 3 +- .../apache/hadoop/hbase/mapreduce/HashTable.java | 4 +- .../apache/hadoop/hbase/mapreduce/JarFinder.java | 10 +- .../hbase/mapreduce/MultithreadedTableMapper.java | 3 +- .../apache/hadoop/hbase/mapreduce/SyncTable.java | 6 +- .../mapreduce/replication/VerifyReplication.java | 6 +- hbase-metrics-api/pom.xml | 4 + hbase-metrics/pom.xml | 4 + hbase-procedure/pom.xml | 4 + hbase-protocol-shaded/pom.xml | 4 + hbase-protocol/pom.xml | 4 + .../google/protobuf/HBaseZeroCopyByteString.java | 3 + hbase-replication/pom.xml | 4 + hbase-rest/pom.xml | 4 + .../hadoop/hbase/rest/ProtobufStreamingOutput.java | 4 +- .../hadoop/hbase/rest/filter/AuthFilter.java | 4 +- hbase-rsgroup/pom.xml | 4 + hbase-server/pom.xml | 4 + .../apache/hadoop/hbase/DaemonThreadFactory.java | 2 + .../org/apache/hadoop/hbase/HealthCheckChore.java | 2 + .../java/org/apache/hadoop/hbase/JMXListener.java | 20 +- .../hbase/SslRMIClientSocketFactorySecure.java | 3 +- .../hbase/SslRMIServerSocketFactorySecure.java | 3 +- .../java/org/apache/hadoop/hbase/ZNodeClearer.java | 5 +- .../backup/example/HFileArchiveTableMonitor.java | 3 +- .../org/apache/hadoop/hbase/fs/HFileSystem.java | 12 +- .../java/org/apache/hadoop/hbase/io/MetricsIO.java | 3 + .../hadoop/hbase/io/MetricsIOWrapperImpl.java | 2 + .../apache/hadoop/hbase/io/hfile/AgeSnapshot.java | 2 + .../hadoop/hbase/io/hfile/BlockPriority.java | 3 + .../hadoop/hbase/io/hfile/BlockWithScanInfo.java | 2 + .../hadoop/hbase/io/hfile/PrefetchExecutor.java | 8 +- .../hbase/ipc/EmptyServiceNameException.java | 3 + .../apache/hadoop/hbase/ipc/FifoRpcScheduler.java | 3 +- .../hbase/ipc/MetricsHBaseServerWrapperImpl.java | 3 + .../org/apache/hadoop/hbase/ipc/QosPriority.java | 3 +- .../hadoop/hbase/ipc/UnknownServiceException.java | 3 + .../MasterAnnotationReadingPriorityFunction.java | 12 +- .../hbase/master/MetricsAssignmentManager.java | 6 +- .../hbase/master/MetricsMasterFileSystem.java | 2 + .../hadoop/hbase/master/MetricsSnapshot.java | 2 + .../hbase/master/balancer/BaseLoadBalancer.java | 2 + .../hbase/master/balancer/ClusterLoadState.java | 3 +- .../master/balancer/FavoredStochasticBalancer.java | 2 + .../hbase/master/balancer/MetricsBalancer.java | 6 +- .../master/balancer/MetricsStochasticBalancer.java | 2 + .../master/cleaner/BaseFileCleanerDelegate.java | 5 +- .../hadoop/hbase/master/cleaner/CleanerChore.java | 23 +- .../master/procedure/RSProcedureDispatcher.java | 5 +- .../master/procedure/RecoverMetaProcedure.java | 4 +- .../master/procedure/ServerCrashProcedure.java | 3 +- .../procedure/MasterProcedureManagerHost.java | 5 +- .../RegionServerProcedureManagerHost.java | 5 +- .../hadoop/hbase/procedure/Subprocedure.java | 3 +- .../quotas/TableSpaceQuotaSnapshotNotifier.java | 3 +- .../MissingSnapshotViolationPolicyEnforcement.java | 6 +- .../regionserver/DumpRegionServerMetrics.java | 9 +- .../hbase/regionserver/SteppingSplitPolicy.java | 3 + .../compactions/DateTieredCompactionRequest.java | 3 +- .../hbase/replication/BulkLoadCellFilter.java | 5 +- .../regionserver/DumpReplicationQueues.java | 5 +- .../regionserver/ReplicationSinkManager.java | 4 +- .../regionserver/ReplicationSyncUp.java | 4 +- .../VisibilityNewVersionBehaivorTracker.java | 3 +- .../security/visibility/VisibilityReplication.java | 7 +- .../hadoop/hbase/snapshot/CreateSnapshot.java | 5 +- .../hadoop/hbase/tool/WriteSinkCoprocessor.java | 10 +- .../apache/hadoop/hbase/util/GetJavaProperty.java | 7 +- .../apache/hadoop/hbase/util/HFileArchiveUtil.java | 4 +- .../hadoop/hbase/util/RollingStatCalculator.java | 3 + .../hadoop/hbase/util/ServerRegionReplicaUtil.java | 3 +- .../hadoop/hbase/util/ShutdownHookManager.java | 20 +- .../org/apache/hadoop/hbase/util/SortedList.java | 4 +- .../hadoop/hbase/util/YammerHistogramUtils.java | 3 +- .../util/hbck/TableIntegrityErrorHandler.java | 9 +- .../util/hbck/TableIntegrityErrorHandlerImpl.java | 5 +- .../hbase/wal/NettyAsyncFSWALConfigHelper.java | 6 +- hbase-shell/pom.xml | 4 + hbase-thrift/pom.xml | 4 + .../hbase/thrift/HttpAuthenticationException.java | 3 + .../hadoop/hbase/thrift/IncrementCoalescer.java | 3 +- .../hbase/thrift/IncrementCoalescerMBean.java | 3 + .../hbase/thrift/THBaseThreadPoolExecutor.java | 2 + hbase-zookeeper/pom.xml | 4 + .../hbase/zookeeper/RegionNormalizerTracker.java | 3 +- pom.xml | 29 ++ 188 files changed, 616 insertions(+), 741 deletions(-) delete mode 100644 hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java diff --git a/hbase-annotations/pom.xml b/hbase-annotations/pom.xml index 6959da2338..1ac064793c 100644 --- a/hbase-annotations/pom.xml +++ b/hbase-annotations/pom.xml @@ -47,6 +47,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml index 3d1b84dbf1..d43e455197 100644 --- a/hbase-client/pom.xml +++ b/hbase-client/pom.xml @@ -47,6 +47,10 @@ org.apache.maven.plugins maven-source-plugin + + net.revelc.code + warbucks-maven-plugin + 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 index 493e23a839..0000000000 --- a/hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java +++ /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}. - *

- * 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. - *

- * 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. - *

- * 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. - *

- * 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> 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> 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> 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> classes = findPublicClasses(); - List, 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, 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> 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> classes = classFinder.findClasses(false); - return classes; - } - - @Ignore @Test - public void testProtosInParamTypes() throws ClassNotFoundException, IOException, LinkageError { - Set> classes = findPublicClasses(); - List, 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, 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> classes = findPublicClasses(); - List> 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, Method>> protosReturnType) { - Pair, 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, Method, Class>> protosParamType) { - Triple, 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; - } - } - } - } - } - } -} diff --git a/hbase-common/pom.xml b/hbase-common/pom.xml index aae9b44871..74cb32fcd2 100644 --- a/hbase-common/pom.xml +++ b/hbase-common/pom.xml @@ -132,6 +132,10 @@ + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java index d52c67d80d..89386f4f6b 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java @@ -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; diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONBean.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONBean.java index ab95b31263..80ffa270d0 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONBean.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONBean.java @@ -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; diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONMetricUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONMetricUtil.java index b6c05b67c9..7bc2257e35 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONMetricUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/JSONMetricUtil.java @@ -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); diff --git a/hbase-endpoint/pom.xml b/hbase-endpoint/pom.xml index 55d9f93567..545f9efee5 100644 --- a/hbase-endpoint/pom.xml +++ b/hbase-endpoint/pom.xml @@ -65,6 +65,10 @@ + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-examples/pom.xml b/hbase-examples/pom.xml index fa0b1a9588..6bee19ddbf 100644 --- a/hbase-examples/pom.xml +++ b/hbase-examples/pom.xml @@ -65,6 +65,10 @@ + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java index 63d00fb27e..bcc9c0aed1 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java @@ -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); diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/BufferedMutatorExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/BufferedMutatorExample.java index 8e8a828870..9c900d7ba1 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/BufferedMutatorExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/BufferedMutatorExample.java @@ -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); diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/ExportEndpointExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/ExportEndpointExample.java index e15c993de3..d3ee2cc118 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/ExportEndpointExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/ExportEndpointExample.java @@ -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. *

*/ -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(){} } diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java index 37bda0f654..f9caf2b332 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java @@ -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); diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/MultiThreadedClientExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/MultiThreadedClientExample.java index ae89e642da..2c98c18636 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/MultiThreadedClientExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/MultiThreadedClientExample.java @@ -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 * * */ +@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; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/RefreshHFilesClient.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/RefreshHFilesClient.java index a829b2ab1b..ead0af0e74 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/RefreshHFilesClient.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/RefreshHFilesClient.java @@ -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; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java index 4735b3db72..e2681ae04c 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java @@ -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; * } * */ +@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); diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/DelegatingInternalScanner.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/DelegatingInternalScanner.java index f781a33872..ada040f2a0 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/DelegatingInternalScanner.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/DelegatingInternalScanner.java @@ -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; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java index 87387a0547..5fe920ef15 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java @@ -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; *

* @see ExampleRegionObserverWithMetrics */ +@InterfaceAudience.Private public class ExampleMasterObserverWithMetrics implements MasterCoprocessor, MasterObserver { @Override public Optional getMasterObserver() { diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.java index 4e31d226ae..ec33e0815d 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.java @@ -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; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java index 60cb1542fd..29fe90c0ad 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java @@ -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. *

@@ -43,6 +42,7 @@ import java.util.Collections; * hbase-protocol/src/main/protobuf/RefreshHFiles.proto. *

*/ +@InterfaceAudience.Private public class RefreshHFilesEndpoint extends RefreshHFilesProtos.RefreshHFilesService implements RegionCoprocessor { protected static final Logger LOG = LoggerFactory.getLogger(RefreshHFilesEndpoint.class); diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java index ff7b43dcef..21d3b7a6bc 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java @@ -18,11 +18,13 @@ 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. *

*/ +@InterfaceAudience.Private public class RowCountEndpoint extends ExampleProtos.RowCountService implements RegionCoprocessor { private RegionCoprocessorEnvironment env; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.java index 942315c0e3..1c323d2585 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.java @@ -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"; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ValueRewritingObserver.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ValueRewritingObserver.java index 422f4c11c6..988b51bb9f 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ValueRewritingObserver.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ValueRewritingObserver.java @@ -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"; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.java index 01914b3c31..c7ebf0d20a 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.java @@ -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 diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java index 9b1db69df1..12d7d17993 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java @@ -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 diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/IndexBuilder.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/IndexBuilder.java index 01e9ef37cc..3098ac250f 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/IndexBuilder.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/IndexBuilder.java @@ -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. *

*/ +@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"); diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/SampleUploader.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/SampleUploader.java index 18eb5a6b1c..1248f874dd 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/SampleUploader.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/SampleUploader.java @@ -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; *

* This code was written against HBase 0.21 trunk. */ +@InterfaceAudience.Private public class SampleUploader extends Configured implements Tool { private static final String NAME = "SampleUploader"; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java index 706f82f364..07486bfaf0 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java @@ -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; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java index 25fdc4af34..56aadce7b0 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java @@ -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; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift2/DemoClient.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift2/DemoClient.java index 666997e978..7fbe2aa72c 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift2/DemoClient.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift2/DemoClient.java @@ -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"; diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/types/PBCell.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/types/PBCell.java index c063aa9bcb..b1ec97ea5a 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/types/PBCell.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/types/PBCell.java @@ -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 { @Override public Class encodedClass() { diff --git a/hbase-external-blockcache/pom.xml b/hbase-external-blockcache/pom.xml index c0ab45f450..276a241397 100644 --- a/hbase-external-blockcache/pom.xml +++ b/hbase-external-blockcache/pom.xml @@ -84,6 +84,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-hadoop-compat/pom.xml b/hbase-hadoop-compat/pom.xml index d16a791ed1..e8dda8cb49 100644 --- a/hbase-hadoop-compat/pom.xml +++ b/hbase-hadoop-compat/pom.xml @@ -49,6 +49,10 @@ org.apache.maven.plugins maven-source-plugin + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilityFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilityFactory.java index 5c1f1035f5..d29e7bc1d3 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilityFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilityFactory.java @@ -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); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilitySingletonFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilitySingletonFactory.java index 3dc3f49655..0e633b8b15 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilitySingletonFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/CompatibilitySingletonFactory.java @@ -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; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSource.java index 3f27747272..c0a8519c10 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSource.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapper.java index ed07898916..3ba8cd5d0a 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapper.java @@ -18,6 +18,9 @@ package org.apache.hadoop.hbase.io; +import org.apache.yetus.audience.InterfaceAudience; + +@InterfaceAudience.Private public interface MetricsIOWrapper { long getChecksumFailures(); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java index 534331aeb4..08337518f8 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java @@ -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 = diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactory.java index e9a3348711..7f1415ae86 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactory.java @@ -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 diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.java index b272cd0add..c80d1a98c0 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.java @@ -19,6 +19,9 @@ package org.apache.hadoop.hbase.ipc; +import org.apache.yetus.audience.InterfaceAudience; + +@InterfaceAudience.Private public interface MetricsHBaseServerWrapper { long getTotalQueueSize(); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java index 4e4a9e0cd2..92d447cb2e 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java index 6cf942b2bd..91dc71a034 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSource.java index 51a17a8980..db4f25ec03 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSource.java @@ -19,10 +19,12 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceFactory.java index b282e06570..197f9f9fe7 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceFactory.java @@ -18,9 +18,12 @@ 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); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.java index 99c5441d0a..8450432ade 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.java @@ -17,10 +17,12 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSourceFactory.java index 6e107467a3..2dcd945ea8 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterQuotaSourceFactory.java @@ -16,9 +16,12 @@ */ 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); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java index d187bb11b7..dcfc600d35 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceFactory.java index 63a85a3352..fce574a2cf 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceFactory.java @@ -18,9 +18,12 @@ 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); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java index 80e08920df..e6b2bc56e5 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshotSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshotSource.java index 371a316132..15315b6c3e 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshotSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshotSource.java @@ -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 diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.java index 1c9a61e0a8..5add25f4c0 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSource.java index 1621932dc8..6eecc1233f 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSource.java @@ -18,12 +18,15 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSource.java index 652aae1c7d..76391bb8d7 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSource.java @@ -18,10 +18,13 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSource.java index fa252fc296..53d3d18039 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSource.java @@ -18,10 +18,13 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/JvmPauseMonitorSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/JvmPauseMonitorSource.java index af6eeedb80..6cb542586c 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/JvmPauseMonitorSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/JvmPauseMonitorSource.java @@ -18,9 +18,12 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/MBeanSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/MBeanSource.java index e4ff880650..575ca31c64 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/MBeanSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/MBeanSource.java @@ -19,10 +19,12 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/OperationMetrics.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/OperationMetrics.java index f3e14c02ac..064c9ca3f9 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/OperationMetrics.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/OperationMetrics.java @@ -18,12 +18,15 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.java index 532c5afdd3..868acd84f7 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.java @@ -19,11 +19,13 @@ 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 diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionAggregateSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionAggregateSource.java index 578ce49dde..23d02598a3 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionAggregateSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionAggregateSource.java @@ -19,11 +19,13 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.java index 3175aad04e..9795374878 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.java @@ -17,10 +17,12 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java index 3dd44450eb..70c6da8719 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.java index d581fd5e7a..bf4e0bcf90 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.java @@ -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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java index 761945acd9..83a8339c20 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java @@ -18,10 +18,13 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java index d5738cf8f2..2a198d61bc 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java @@ -18,11 +18,13 @@ 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 { String OPS_SAMPLE_NAME = "ops"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java index 371f9ba35b..491c1a9849 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java @@ -18,10 +18,13 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.java index 6ee0c3d03a..39e2372866 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.java @@ -19,11 +19,13 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.java index 67e651a736..231bad1be8 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.java @@ -16,9 +16,12 @@ */ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java index ee0d3b449b..b8476bf1c4 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java @@ -18,10 +18,13 @@ 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 { String READ_REQUEST_COUNT = "readRequestCount"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java index 910c729513..e1d2ab2a74 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java @@ -18,11 +18,13 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java index a665571868..fbe95f51db 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java @@ -19,10 +19,12 @@ 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 { diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSource.java index 9fb8415d0c..1d6251b993 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSource.java @@ -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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java index 6a917015d2..6fb5d71ef0 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java @@ -19,11 +19,13 @@ 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 diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactory.java index 0e1c5cccab..6534b11120 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactory.java @@ -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); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.java index 9075a686b1..f56139ba1e 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.java @@ -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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/rest/MetricsRESTSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/rest/MetricsRESTSource.java index a5101e0ad6..22c8753b8e 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/rest/MetricsRESTSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/rest/MetricsRESTSource.java @@ -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. * diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java index 276a40ce26..1e95782c2b 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java @@ -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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java index a4608b5603..7918d7360d 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java @@ -18,7 +18,10 @@ 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"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.java index 7a404640bf..3e971243d0 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.java @@ -18,10 +18,12 @@ 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 { /** diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricHistogram.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricHistogram.java index 9d24a23f19..835c50ba76 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricHistogram.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricHistogram.java @@ -18,10 +18,13 @@ 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. diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricsExecutor.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricsExecutor.java index f2ebc94d01..1366fd0b92 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricsExecutor.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/MetricsExecutor.java @@ -19,10 +19,12 @@ 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(); diff --git a/hbase-hadoop2-compat/pom.xml b/hbase-hadoop2-compat/pom.xml index d0e4025c02..5db80e6e45 100644 --- a/hbase-hadoop2-compat/pom.xml +++ b/hbase-hadoop2-compat/pom.xml @@ -67,6 +67,10 @@ limitations under the License. + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSourceImpl.java index 3edbc55e47..edbb9257c2 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/io/MetricsIOSourceImpl.java @@ -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; diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSourceImpl.java index 9ed61a1a1c..3af27d89b9 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/ExceptionTrackingSourceImpl.java @@ -19,11 +19,13 @@ 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; diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java index 5150dffb78..96fc95416a 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java @@ -17,15 +17,13 @@ */ 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. *

*/ -public class GlobalMetricRegistriesAdapter { +@InterfaceAudience.Private +public final class GlobalMetricRegistriesAdapter { private static final Logger LOG = LoggerFactory.getLogger(GlobalMetricRegistriesAdapter.class); diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/HBaseMetrics2HadoopMetricsAdapter.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/HBaseMetrics2HadoopMetricsAdapter.java index b6a17cf177..e4d87100ca 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/HBaseMetrics2HadoopMetricsAdapter.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/impl/HBaseMetrics2HadoopMetricsAdapter.java @@ -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); diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java index 712096d10a..5d18ccb052 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java @@ -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."; diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.java index 74592d9752..485764e7c8 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.java @@ -19,9 +19,10 @@ 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; diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.java index b07790f802..af310f0544 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.java @@ -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 { diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.java index 0b6a1e10d8..be62e3dcc6 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.java @@ -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; diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java index 3ecd8887ef..87b83e5a68 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java @@ -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); diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableFastCounter.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableFastCounter.java index 645b8cc4f7..7b5ec024a5 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableFastCounter.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableFastCounter.java @@ -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; diff --git a/hbase-http/pom.xml b/hbase-http/pom.xml index dd94e32a74..149131aa02 100644 --- a/hbase-http/pom.xml +++ b/hbase-http/pom.xml @@ -120,6 +120,10 @@ + + net.revelc.code + warbucks-maven-plugin +
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterContainer.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterContainer.java index 7a79acce9f..5869ce3f92 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterContainer.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterContainer.java @@ -18,10 +18,12 @@ 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. diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterInitializer.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterInitializer.java index d3173438de..7e8595e7d0 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterInitializer.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/FilterInitializer.java @@ -18,10 +18,12 @@ 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. diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HtmlQuoting.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HtmlQuoting.java index 7f4bb83b52..e2eebb2519 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HtmlQuoting.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HtmlQuoting.java @@ -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 = "&".getBytes(); private static final byte[] aposBytes = "'".getBytes(); private static final byte[] gtBytes = ">".getBytes(); @@ -212,4 +214,5 @@ public class HtmlQuoting { } } + private HtmlQuoting() {} } diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java index 243da1b14f..c83fa4feb8 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java @@ -18,11 +18,11 @@ 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 serverToComponent; @@ -101,4 +102,6 @@ public class HttpRequestLog { return null; } } + + private HttpRequestLog() {} } diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLogAppender.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLogAppender.java index 8039b34225..b6ce3c1c23 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLogAppender.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLogAppender.java @@ -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; diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java index 0b33fd124c..777ced009b 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java @@ -17,15 +17,17 @@ */ 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() {} } diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.java index 13d6c400ac..b42c270a9b 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.java @@ -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; *

* */ +@InterfaceAudience.Private public class JMXJsonServlet extends HttpServlet { private static final Logger LOG = LoggerFactory.getLogger(JMXJsonServlet.class); diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/log/LogLevel.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/log/LogLevel.java index 0d409726e9..2f623137d5 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/log/LogLevel.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/log/LogLevel.java @@ -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 ]\n" + "\t[-setlevel ]\n"; @@ -174,4 +172,6 @@ public class LogLevel { out.println(MARKER + "Effective level: " + lev + "
"); } } + + private LogLevel() {} } diff --git a/hbase-it/pom.xml b/hbase-it/pom.xml index e5650b81cf..db54fe70ce 100644 --- a/hbase-it/pom.xml +++ b/hbase-it/pom.xml @@ -154,6 +154,10 @@ -verbose:gc -XX:+PrintCommandLineFlags -XX:+PrintFlagsFinal + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-mapreduce/pom.xml b/hbase-mapreduce/pom.xml index 4e2f5de8eb..34d405c43e 100644 --- a/hbase-mapreduce/pom.xml +++ b/hbase-mapreduce/pom.xml @@ -64,6 +64,10 @@ org.apache.maven.plugins maven-source-plugin + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileInputFormat.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileInputFormat.java index 01248ba1a3..11e6c0837d 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileInputFormat.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileInputFormat.java @@ -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 { private static final Logger LOG = LoggerFactory.getLogger(HFileInputFormat.class); diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HashTable.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HashTable.java index e1c69a5ba9..b67225e70d 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HashTable.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HashTable.java @@ -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); diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/JarFinder.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/JarFinder.java index 24efbb34d8..0127b51ab3 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/JarFinder.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/JarFinder.java @@ -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() {} } diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java index 5cd87ae6a5..ca82e2a58e 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java @@ -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; *

*/ +@InterfaceAudience.Private public class MultithreadedTableMapper extends TableMapper { private static final Logger LOG = LoggerFactory.getLogger(MultithreadedTableMapper.class); private Class> mapClass; diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java index 6382aff68d..206963f857 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java @@ -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); diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java index 9065f4e80c..6a5f43553e 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.mapreduce.replication; import java.io.IOException; import java.util.Arrays; import java.util.UUID; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.FileSystem; @@ -45,8 +44,8 @@ import org.apache.hadoop.hbase.filter.PrefixFilter; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableInputFormat; import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil; -import org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormat; import org.apache.hadoop.hbase.mapreduce.TableMapper; +import org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormat; import org.apache.hadoop.hbase.mapreduce.TableSplit; import org.apache.hadoop.hbase.replication.ReplicationException; import org.apache.hadoop.hbase.replication.ReplicationFactory; @@ -65,8 +64,10 @@ 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; + import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting; /** @@ -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 = diff --git a/hbase-metrics-api/pom.xml b/hbase-metrics-api/pom.xml index d7859b9c93..bd108e9a77 100644 --- a/hbase-metrics-api/pom.xml +++ b/hbase-metrics-api/pom.xml @@ -68,6 +68,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-metrics/pom.xml b/hbase-metrics/pom.xml index 5c913fb6fd..c4cee1a414 100644 --- a/hbase-metrics/pom.xml +++ b/hbase-metrics/pom.xml @@ -68,6 +68,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-procedure/pom.xml b/hbase-procedure/pom.xml index 2862cc0062..8bd3fbc026 100644 --- a/hbase-procedure/pom.xml +++ b/hbase-procedure/pom.xml @@ -46,6 +46,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-protocol-shaded/pom.xml b/hbase-protocol-shaded/pom.xml index 46a9ccef34..67dde6c851 100644 --- a/hbase-protocol-shaded/pom.xml +++ b/hbase-protocol-shaded/pom.xml @@ -178,6 +178,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml index 09264e3566..e57c15be30 100644 --- a/hbase-protocol/pom.xml +++ b/hbase-protocol/pom.xml @@ -75,6 +75,10 @@ + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java b/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java index 9d756121c4..f10d30f9d4 100644 --- a/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java +++ b/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java @@ -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. *

@@ -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. */ diff --git a/hbase-replication/pom.xml b/hbase-replication/pom.xml index 0621bdd681..d1a06f586b 100644 --- a/hbase-replication/pom.xml +++ b/hbase-replication/pom.xml @@ -45,6 +45,10 @@ org.apache.maven.plugins maven-source-plugin + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml index b9bc5be1b9..df5b9dde10 100644 --- a/hbase-rest/pom.xml +++ b/hbase-rest/pom.xml @@ -136,6 +136,10 @@ + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/ProtobufStreamingOutput.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/ProtobufStreamingOutput.java index 5ea8a316d3..1c137e4b12 100644 --- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/ProtobufStreamingOutput.java +++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/ProtobufStreamingOutput.java @@ -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); diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java index 5dfa58caec..216a3fc898 100644 --- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java +++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java @@ -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."; diff --git a/hbase-rsgroup/pom.xml b/hbase-rsgroup/pom.xml index 1b3188f517..d7011b737c 100644 --- a/hbase-rsgroup/pom.xml +++ b/hbase-rsgroup/pom.xml @@ -63,6 +63,10 @@ true + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml index 2009f6ed2e..7a0864c9a8 100644 --- a/hbase-server/pom.xml +++ b/hbase-server/pom.xml @@ -235,6 +235,10 @@ + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/DaemonThreadFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/DaemonThreadFactory.java index 11da20f66a..fff68c7910 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/DaemonThreadFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/DaemonThreadFactory.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/HealthCheckChore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/HealthCheckChore.java index 8ab139f63c..c78f3b37aa 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/HealthCheckChore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/HealthCheckChore.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java index 6fdc77e34d..5008354936 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java @@ -18,14 +18,6 @@ */ 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"; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIClientSocketFactorySecure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIClientSocketFactorySecure.java index d505d6fdad..5dffb73d3e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIClientSocketFactorySecure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIClientSocketFactorySecure.java @@ -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 { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIServerSocketFactorySecure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIServerSocketFactorySecure.java index 3583afeb4c..8a9223675a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIServerSocketFactorySecure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/SslRMIServerSocketFactorySecure.java @@ -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 diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ZNodeClearer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ZNodeClearer.java index 3e911a8dd6..f0b3a41b84 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ZNodeClearer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ZNodeClearer.java @@ -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.

*/ -public class ZNodeClearer { +@InterfaceAudience.Private +public final class ZNodeClearer { private static final Logger LOG = LoggerFactory.getLogger(ZNodeClearer.class); private ZNodeClearer() {} diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/HFileArchiveTableMonitor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/HFileArchiveTableMonitor.java index 93c9690d79..a4daaf0113 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/HFileArchiveTableMonitor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/HFileArchiveTableMonitor.java @@ -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; *

* 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 archivedTables = new TreeSet<>(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java index 9ea67c1f13..bc3d85e1f2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java @@ -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. */ diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIO.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIO.java index 344819b14b..3634ccb595 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIO.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIO.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapperImpl.java index 82eb74ca1c..1ce762a0ad 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapperImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/MetricsIOWrapperImpl.java @@ -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 diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/AgeSnapshot.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/AgeSnapshot.java index bb80abee72..054d54b478 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/AgeSnapshot.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/AgeSnapshot.java @@ -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 { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockPriority.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockPriority.java index 9d4ac87426..d2ac6f0a19 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockPriority.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockPriority.java @@ -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) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockWithScanInfo.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockWithScanInfo.java index 4a5bb64103..b8f83578d2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockWithScanInfo.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockWithScanInfo.java @@ -18,11 +18,13 @@ 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; /** diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java index ce8d53338e..175fb83d9a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java @@ -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() {} } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/EmptyServiceNameException.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/EmptyServiceNameException.java index 2fab38a5db..9ca292751d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/EmptyServiceNameException.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/EmptyServiceNameException.java @@ -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 {} diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java index d379e5f714..ce0f86d276 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FifoRpcScheduler.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java index 4afcc3341f..8753ebb39c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/QosPriority.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/QosPriority.java index 9e51d2c4b2..ca1546cd83 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/QosPriority.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/QosPriority.java @@ -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; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/UnknownServiceException.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/UnknownServiceException.java index 87e78c2d6a..5b4a2c241b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/UnknownServiceException.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/UnknownServiceException.java @@ -17,7 +17,10 @@ */ 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); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java index f25f3bfc4c..61eb28fcee 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java @@ -17,16 +17,19 @@ */ 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()); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManager.java index 7d7dd81445..d13ffe9b83 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManager.java @@ -18,11 +18,13 @@ 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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystem.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystem.java index 45dbeb8595..609ac1929d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystem.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystem.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshot.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshot.java index 2d7c7979ee..483552d92a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshot.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsSnapshot.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java index 36f57f23c8..44dfe41544 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java index a783a07c29..5d1e1ccac2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java @@ -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> clusterState; private final NavigableMap> serversByLoad; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java index b65261029e..5a6659e271 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java @@ -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 { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancer.java index 3707536ebf..fdaf3cf058 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsBalancer.java @@ -19,10 +19,12 @@ 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; @@ -30,9 +32,9 @@ public class MetricsBalancer { public MetricsBalancer() { initSource(); } - + /** - * A function to instantiate the metrics source. This function can be overridden in its + * A function to instantiate the metrics source. This function can be overridden in its * subclasses to provide extended sources */ protected void initSource() { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.java index 850a9f5f49..ee24ff3fdb 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.java @@ -19,11 +19,13 @@ 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. diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java index ed0ec9f77b..b58720062c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java @@ -17,17 +17,18 @@ */ 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 { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/CleanerChore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/CleanerChore.java index fdf5141734..46f6217a90 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/CleanerChore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/CleanerChore.java @@ -17,13 +17,6 @@ */ 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 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 extends ScheduledChore implements ConfigurationObserver { @@ -315,7 +316,7 @@ public abstract class CleanerChore extends Schedu } Iterable filteredFiles = cleaner.getDeletableFiles(deletableValidFiles); - + // trace which cleaner is holding on to each file if (LOG.isTraceEnabled()) { ImmutableSet filteredFileSet = ImmutableSet.copyOf(filteredFiles); @@ -325,10 +326,10 @@ public abstract class CleanerChore extends Schedu } } } - + deletableValidFiles = filteredFiles; } - + Iterable filesToDelete = Iterables.concat(invalidFiles, deletableValidFiles); return deleteFiles(filesToDelete) == files.size(); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java index 2c87745f87..2b764492e0 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; - import org.apache.hadoop.hbase.DoNotRetryIOException; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.RegionInfo; @@ -34,12 +33,15 @@ 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; + import org.apache.hbase.thirdparty.com.google.common.collect.ArrayListMultimap; import org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback; import org.apache.hbase.thirdparty.com.google.protobuf.RpcController; import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException; + import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter; import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService; @@ -53,6 +55,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionR /** * A remote procecdure dispatcher for regionservers. */ +@InterfaceAudience.Private public class RSProcedureDispatcher extends RemoteProcedureDispatcher implements ServerListener { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java index 2234a1bb89..75724955dd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java @@ -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 implements TableProcedureInterface { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java index 3d660729b2..5d8d6fa311 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java @@ -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 implements ServerProcedureInterface { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.java index 222c9334b8..736257f7d3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.java @@ -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 { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.java index 4c01eb8c61..5ae7a44b52 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.java @@ -18,21 +18,22 @@ 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 { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Subprocedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Subprocedure.java index d15f5acd54..8b05a94069 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Subprocedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Subprocedure.java @@ -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 { private static final Logger LOG = LoggerFactory.getLogger(Subprocedure.class); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.java index d81d7d304a..891a34ecd8 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.java @@ -17,17 +17,18 @@ 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); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.java index d0e4b167e7..cbc70a02dc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.java @@ -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(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DumpRegionServerMetrics.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DumpRegionServerMetrics.java index 2b07a64253..4d49ea2f76 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DumpRegionServerMetrics.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DumpRegionServerMetrics.java @@ -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() {} } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java index 9753080bcf..84973db707 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java @@ -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 diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionRequest.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionRequest.java index 03571d51f0..37b7059cc2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionRequest.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionRequest.java @@ -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 boundaries; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/BulkLoadCellFilter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/BulkLoadCellFilter.java index efbedc52ed..6814640dfe 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/BulkLoadCellFilter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/BulkLoadCellFilter.java @@ -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); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java index 6e27a21226..83b6b25965 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java @@ -27,7 +27,6 @@ import java.util.Map; import java.util.Queue; import java.util.Set; import java.util.stream.Collectors; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.FileStatus; @@ -56,9 +55,11 @@ 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.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicLongMap; /** @@ -68,7 +69,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()); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java index 4c8a7522fb..af6888c2c5 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java @@ -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); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java index f7ea78f5bc..f528564b1e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java @@ -36,17 +36,19 @@ 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 * tool is used to sync-up the delta from Master to Slave using the info from ZooKeeper. The tool * will run on Master-Cluser, and assume ZK, Filesystem and NetWork still available after hbase * crashes - * + * *

  * hbase org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp
  * 
*/ +@InterfaceAudience.Private public class ReplicationSyncUp extends Configured implements Tool { private static final long SLEEP_TIME = 10000; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.java index f3e4853592..b25b7e21c0 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.java @@ -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); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityReplication.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityReplication.java index 6887c31352..e39d601646 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityReplication.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityReplication.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java index b1ee66ef90..af9ce88714 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java index 738ffc28c1..9311200ac9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java @@ -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; - /** *

* 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 *

+ * 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(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java index b12c592573..2d4de3b4d5 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java @@ -18,10 +18,13 @@ */ 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() {} } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HFileArchiveUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HFileArchiveUtil.java index fb99cba376..03ed373f35 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HFileArchiveUtil.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HFileArchiveUtil.java @@ -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 } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RollingStatCalculator.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RollingStatCalculator.java index 554d6f51a7..fb2a954174 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RollingStatCalculator.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RollingStatCalculator.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java index 8a43d174b3..769d480d5f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java @@ -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); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ShutdownHookManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ShutdownHookManager.java index d3da773b62..3b206a8831 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ShutdownHookManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/ShutdownHookManager.java @@ -17,13 +17,15 @@ */ 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 }, diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java index 3f5576e4a5..f896e550a1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java @@ -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(). *

* 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 implements List, RandomAccess { private volatile List list; private final Comparator comparator; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/YammerHistogramUtils.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/YammerHistogramUtils.java index 742a2efec7..3070fb3727 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/YammerHistogramUtils.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/YammerHistogramUtils.java @@ -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 diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.java index 4ca0e7441a..d5f5f5320c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.java @@ -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; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.java index af379fd1ee..96039b5f42 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.java @@ -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} */ diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NettyAsyncFSWALConfigHelper.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NettyAsyncFSWALConfigHelper.java index 0836b5d147..12b63f5b81 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NettyAsyncFSWALConfigHelper.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NettyAsyncFSWALConfigHelper.java @@ -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() {} } diff --git a/hbase-shell/pom.xml b/hbase-shell/pom.xml index d3c395dbed..1c6e939e5f 100644 --- a/hbase-shell/pom.xml +++ b/hbase-shell/pom.xml @@ -116,6 +116,10 @@ org.codehaus.mojo findbugs-maven-plugin + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml index 079a8c088b..1f4ccaa57c 100644 --- a/hbase-thrift/pom.xml +++ b/hbase-thrift/pom.xml @@ -138,6 +138,10 @@ org.apache.maven.plugins maven-source-plugin + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/HttpAuthenticationException.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/HttpAuthenticationException.java index eab530785b..b75b4334f7 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/HttpAuthenticationException.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/HttpAuthenticationException.java @@ -18,6 +18,9 @@ */ package org.apache.hadoop.hbase.thrift; +import org.apache.yetus.audience.InterfaceAudience; + +@InterfaceAudience.Private public class HttpAuthenticationException extends Exception { private static final long serialVersionUID = 0; /** diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescer.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescer.java index 3fb72547bf..f2abe2e7c2 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescer.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescer.java @@ -31,7 +31,6 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.LongAdder; - import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.thrift.ThriftServerRunner.HBaseHandler; @@ -40,6 +39,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.metrics2.util.MBeans; import org.apache.thrift.TException; +import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,6 +52,7 @@ import org.slf4j.LoggerFactory; * thrift server dies or is shut down before everything in the queue is drained. * */ +@InterfaceAudience.Private public class IncrementCoalescer implements IncrementCoalescerMBean { /** diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.java index 604fa97e3a..06cf193fe0 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.java @@ -18,6 +18,9 @@ package org.apache.hadoop.hbase.thrift; +import org.apache.yetus.audience.InterfaceAudience; + +@InterfaceAudience.Private public interface IncrementCoalescerMBean { int getQueueSize(); diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/THBaseThreadPoolExecutor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/THBaseThreadPoolExecutor.java index 973cad7eb0..c86f47616e 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/THBaseThreadPoolExecutor.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/THBaseThreadPoolExecutor.java @@ -22,12 +22,14 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import org.apache.yetus.audience.InterfaceAudience; /** * A ThreadPoolExecutor customized for working with HBase thrift to update metrics before and * after the execution of a task. */ +@InterfaceAudience.Private public class THBaseThreadPoolExecutor extends ThreadPoolExecutor { private ThriftMetrics metrics; diff --git a/hbase-zookeeper/pom.xml b/hbase-zookeeper/pom.xml index 8c92968f94..a49dbe7533 100644 --- a/hbase-zookeeper/pom.xml +++ b/hbase-zookeeper/pom.xml @@ -91,6 +91,10 @@ org.codehaus.mojo findbugs-maven-plugin + + net.revelc.code + warbucks-maven-plugin + diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.java index a50ce4c8c6..7413879b0b 100644 --- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.java +++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.java @@ -19,10 +19,10 @@ package org.apache.hadoop.hbase.zookeeper; import java.io.IOException; - import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.exceptions.DeserializationException; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.yetus.audience.InterfaceAudience; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionNormalizerProtos; /** * Tracks region normalizer state up in ZK */ +@InterfaceAudience.Private public class RegionNormalizerTracker extends ZKNodeTracker { private static final Logger LOG = LoggerFactory.getLogger(RegionNormalizerTracker.class); diff --git a/pom.xml b/pom.xml index 49c99e2dfb..d3b8792927 100755 --- a/pom.xml +++ b/pom.xml @@ -909,6 +909,34 @@ true + + net.revelc.code + warbucks-maven-plugin + ${maven.warbucks.version} + + false + + + + (?!.*(.generated.|.tmpl.|\$)).* + false + true + false + false + false + org[.]apache[.]yetus[.]audience[.]InterfaceAudience.* + + + + + + run-warbucks + + check + + + + @@ -1382,6 +1410,7 @@ 3.0.0 3.4 3.0.1 + 1.1.0 1.5.0.Final 2.8.2 3.2.2 -- 2.16.2.windows.1