[
https://issues.apache.org/jira/browse/HDFS-15024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16986171#comment-16986171
]
Erik Krogen commented on HDFS-15024:
------------------------------------
This seems fairly closely related to HDFS-14969. Both issues are caused because
of assumptions in the code that only two NNs will be present in the conf, even
though that hasn't been true since HDFS-6440 was committed. HDFS-14969 isn't as
impactful since it's just logging, but It seems that the solution (expose a way
to find how many proxies there are, and use that value instead of hard-coded 2,
as described in [this
comment|https://issues.apache.org/jira/browse/HDFS-14969?focusedCommentId=16972962&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16972962])
is similar.
> [SBN read] In FailoverOnNetworkExceptionRetry , Number of NameNodes as a
> condition of calculation of sleep time
> ---------------------------------------------------------------------------------------------------------------
>
> Key: HDFS-15024
> URL: https://issues.apache.org/jira/browse/HDFS-15024
> Project: Hadoop HDFS
> Issue Type: Improvement
> Affects Versions: 2.10.0, 3.3.0, 3.2.1
> Reporter: huhaiyang
> Priority: Major
> Attachments: HDFS-15024.001.patch, client_error.log
>
>
> When we enable the ONN , there will be three NN nodes for the client
> configuration,
> Such as configuration
> <property>
> <name>dfs.ha.namenodes.ns1</name>
> <value>nn2,nn3,nn1</value>
> </property>
> Currently,
> nn2 is in standby state
> nn3 is in observer state
> nn1 is in active state
> When the user performs an access HDFS operation
> ./bin/hadoop --loglevel debug fs
> -Ddfs.client.failover.proxy.provider.ns1=org.apache.hadoop.hdfs.server.namenode.ha.ObserverReadProxyProvider
> -mkdir /user/haiyang1/test8
> You need to request nn1 when you execute the msync method,
> Actually connect nn2 first and failover is required
> In connection nn3 does not meet the requirements, failover needs to be
> performed, but at this time, failover operation needs to be performed during
> a period of hibernation
> Finally, it took a period of hibernation to connect the successful request to
> nn1
> In FailoverOnNetworkExceptionRetry getFailoverOrRetrySleepTime The current
> default implementation is Sleep time is calculated when more than one
> failover operation is performed
> I think that the Number of NameNodes as a condition of calculation of sleep
> time is more reasonable
> That is, in the current test, executing failover on connection nn3 does not
> need to sleep time to directly connect to the next nn node
> See client_error.log for details
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]