From 41e85ccf441b824d38caa6424f546afb91de3881 Mon Sep 17 00:00:00 2001 From: Chao Sun Date: Mon, 17 Dec 2018 16:53:43 -0800 Subject: [PATCH] HDFS-14149. [SBN read] Fix annotations on new interfaces/classes for SBN reads. Contributed by Chao Sun. --- .../main/java/org/apache/hadoop/ipc/AlignmentContext.java | 2 +- .../apache/hadoop/ipc/ObserverRetryOnActiveException.java | 2 ++ .../main/java/org/apache/hadoop/hdfs/ClientGSIContext.java | 2 +- .../hdfs/server/namenode/ha/ObserverReadProxyProvider.java | 5 ++++- .../ha/ObserverReadProxyProviderWithIPFailover.java | 6 +++++- .../org/apache/hadoop/hdfs/server/namenode/ha/ReadOnly.java | 3 +++ .../hadoop/hdfs/qjournal/server/JournaledEditsCache.java | 5 +++++ .../hadoop/hdfs/server/namenode/GlobalStateIdContext.java | 2 +- 8 files changed, 22 insertions(+), 5 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/AlignmentContext.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/AlignmentContext.java index bcddfbf1e26..fbf825bcb91 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/AlignmentContext.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/AlignmentContext.java @@ -34,7 +34,7 @@ import org.apache.hadoop.ipc.protobuf.RpcHeaderProtos.RpcResponseHeaderProto; * to client. */ @InterfaceAudience.Private -@InterfaceStability.Stable +@InterfaceStability.Evolving public interface AlignmentContext { /** diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ObserverRetryOnActiveException.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ObserverRetryOnActiveException.java index 7e67b0cdf7a..336b304f2d0 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ObserverRetryOnActiveException.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ObserverRetryOnActiveException.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.ipc; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import java.io.IOException; @@ -26,6 +27,7 @@ import java.io.IOException; * client should retry active namenode directly (instead of retry other * ObserverNodes). */ +@InterfaceAudience.Private @InterfaceStability.Evolving public class ObserverRetryOnActiveException extends IOException { static final long serialVersionUID = 1L; diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/ClientGSIContext.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/ClientGSIContext.java index 76c3a6bb212..3e6da7413e3 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/ClientGSIContext.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/ClientGSIContext.java @@ -33,7 +33,7 @@ import java.io.IOException; * state alignment info from server(s). */ @InterfaceAudience.Private -@InterfaceStability.Stable +@InterfaceStability.Evolving public class ClientGSIContext implements AlignmentContext { private final AtomicLong lastSeenStateId = new AtomicLong(Long.MIN_VALUE); diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProvider.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProvider.java index df343630fe2..91062ba1445 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProvider.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProvider.java @@ -26,7 +26,8 @@ import java.lang.reflect.Proxy; import java.net.URI; import java.util.List; -import java.util.function.Supplier; +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.ha.HAServiceProtocol.HAServiceState; import org.apache.hadoop.hdfs.ClientGSIContext; @@ -59,6 +60,8 @@ import com.google.common.annotations.VisibleForTesting; * Read and write requests will still be sent to active NN if reading from * observer is turned off. */ +@InterfaceAudience.Private +@InterfaceStability.Evolving public class ObserverReadProxyProvider extends AbstractNNFailoverProxyProvider { private static final Logger LOG = LoggerFactory.getLogger( diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProviderWithIPFailover.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProviderWithIPFailover.java index fc123860217..f342e212e38 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProviderWithIPFailover.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProviderWithIPFailover.java @@ -21,6 +21,9 @@ import java.net.InetSocketAddress; import java.net.URI; import java.util.Collections; + +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdfs.client.HdfsClientConfigKeys; import org.apache.hadoop.hdfs.HAUtilClient; @@ -74,7 +77,8 @@ import org.slf4j.LoggerFactory; * nn01-ha1 and nn01-ha2, used for read/write RPC calls, but for the failover, * it relies on the virtual address nn01.com */ - +@InterfaceAudience.Private +@InterfaceStability.Evolving public class ObserverReadProxyProviderWithIPFailover extends ObserverReadProxyProvider { private static final Logger LOG = LoggerFactory.getLogger( diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ReadOnly.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ReadOnly.java index 1786ce1aef7..8b1fd064d18 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ReadOnly.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ReadOnly.java @@ -22,6 +22,8 @@ import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; + +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; /** @@ -30,6 +32,7 @@ import org.apache.hadoop.classification.InterfaceStability; @Inherited @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) +@InterfaceAudience.Private @InterfaceStability.Evolving public @interface ReadOnly { /** diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournaledEditsCache.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournaledEditsCache.java index 387caa18373..3cd7fffc587 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournaledEditsCache.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournaledEditsCache.java @@ -31,6 +31,9 @@ import java.util.NavigableMap; import java.util.TreeMap; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; + +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdfs.DFSConfigKeys; import org.apache.hadoop.hdfs.server.namenode.EditLogFileOutputStream; @@ -67,6 +70,8 @@ import org.apache.hadoop.util.AutoCloseableLock; * cache misses occurred, and how many more transactions would have been * needed in the cache to serve the request. */ +@InterfaceAudience.Private +@InterfaceStability.Evolving class JournaledEditsCache { private static final int INVALID_LAYOUT_VERSION = 0; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/GlobalStateIdContext.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/GlobalStateIdContext.java index e295eff7b7a..bdc5cb3114b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/GlobalStateIdContext.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/GlobalStateIdContext.java @@ -38,7 +38,7 @@ import org.apache.hadoop.ipc.protobuf.RpcHeaderProtos.RpcResponseHeaderProto; * state alignment info to clients. */ @InterfaceAudience.Private -@InterfaceStability.Stable +@InterfaceStability.Evolving class GlobalStateIdContext implements AlignmentContext { /** * Estimated number of journal transactions a typical NameNode can execute