Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-15024

[SBN read] In FailoverOnNetworkExceptionRetry , Number of NameNodes as a condition of calculation of sleep time



    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.10.0, 3.3.0, 3.2.1
    • None
    • None


      When we enable the ONN , there will be three NN nodes for the client configuration,
      Such as configuration


      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


        1. client_error.log
          10 kB
          Haiyang Hu
        2. HDFS-15024.001.patch
          6 kB
          Haiyang Hu

        Issue Links



              haiyang Hu Haiyang Hu
              haiyang Hu Haiyang Hu
              0 Vote for this issue
              12 Start watching this issue