[ https://issues.apache.org/jira/browse/HDFS-5399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13891999#comment-13891999 ]
Hudson commented on HDFS-5399: ------------------------------ SUCCESS: Integrated in Hadoop-Yarn-trunk #472 (See [https://builds.apache.org/job/Hadoop-Yarn-trunk/472/]) Correct CHANGES.txt entry for HDFS-5399 (contributed by Jing, not Haohui) (todd: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1564632) * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt HDFS-5399. Revisit SafeModeException and corresponding retry policies. Contributed by Haohui Mai. (todd: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1564629) * /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryPolicies.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/NameNodeProxies.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestHASafeMode.java > Revisit SafeModeException and corresponding retry policies > ---------------------------------------------------------- > > Key: HDFS-5399 > URL: https://issues.apache.org/jira/browse/HDFS-5399 > Project: Hadoop HDFS > Issue Type: Improvement > Affects Versions: 2.3.0 > Reporter: Jing Zhao > Assignee: Jing Zhao > Fix For: 2.3.0 > > Attachments: HDFS-5399.000.patch, HDFS-5399.001.patch, > HDFS-5399.003.patch, hdfs-5399.002.patch > > > Currently for NN SafeMode, we have the following corresponding retry policies: > # In non-HA setup, for certain API call ("create"), the client will retry if > the NN is in SafeMode. Specifically, the client side's RPC adopts > MultipleLinearRandomRetry policy for a wrapped SafeModeException when retry > is enabled. > # In HA setup, the client will retry if the NN is Active and in SafeMode. > Specifically, the SafeModeException is wrapped as a RetriableException in the > server side. Client side's RPC uses FailoverOnNetworkExceptionRetry policy > which recognizes RetriableException (see HDFS-5291). > There are several possible issues in the current implementation: > # The NN SafeMode can be a "Manual" SafeMode (i.e., started by administrator > through CLI), and the clients may not want to retry on this type of SafeMode. > # Client may want to retry on other API calls in non-HA setup. > # We should have a single generic strategy to address the mapping between > SafeMode and retry policy for both HA and non-HA setup. A possible > straightforward solution is to always wrap the SafeModeException in the > RetriableException to indicate that the clients should retry. -- This message was sent by Atlassian JIRA (v6.1.5#6160)