[ 
https://issues.apache.org/jira/browse/HDFS-16699?focusedWorklogId=796687&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-796687
 ]

ASF GitHub Bot logged work on HDFS-16699:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 31/Jul/22 08:37
            Start Date: 31/Jul/22 08:37
    Worklog Time Spent: 10m 
      Work Description: SanQiMax commented on PR #4663:
URL: https://github.com/apache/hadoop/pull/4663#issuecomment-1200378751

   > Thanks @SanQiMax for your PR. Can you explain how to reproduce it in 
detail? Have used Observer Read in RBF?
   reproduce detail 
   I deployed  three router, 
   two NameService,as ns1 and ns2,
   which ns1 has three OBServerNameNode,ob1,ob2,ob3,
   ns1 has large of connections to NameNode ,when the first time connect to ob1 
 failed for network probleam ,will try to next one,
   and when catch the network exception failover set to true ,thus the second 
OBServerNameNode will update to active
   we can produce the sitiation with Construct network failure for 
activeNameNode or OBServerNameNode that cause connect exception ;
   you can see  the code that cause failover set to true
   
       } else if (isUnavailableException(ioe)) {
           if (this.rpcMonitor != null) {
              this.rpcMonitor.proxyOpFailureCommunicate(nsId);
           }
           failover = true;
   
   isUnavailableException contains ConnectTimeoutException, 
EOFException,SocketException,StandbyException
   




Issue Time Tracking
-------------------

    Worklog Id:     (was: 796687)
    Time Spent: 0.5h  (was: 20m)

> RBF: Router Update Observer NameNode state to Active when failover because of 
>  sockeTimeOut  Exception
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-16699
>                 URL: https://issues.apache.org/jira/browse/HDFS-16699
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: rbf
>    Affects Versions: 3.1.1
>            Reporter: ShuangQi Xia
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> we found that ,router print logs that indicate  Observer NameNode  state 
> changed to active always,here's the log
> 2022-03-18 11:00:54,589 | INFO  | NamenodeHeartbeatService hacluster 11342-0 
> | NN registration state has changed: 
> test101:25019->hacluster:11342:test103:25000-ACTIVE -> 
> test102:25019->hacluster:11342::test103:25000-OBSERVER | 
> MembershipStoreImpl.java:170
> for code ,I fount that , when router request failed for some reson ,like 
> sockettimeout Excetion , failover to Observer NameNode,will  update it's 
> state to Active
>    if (failover) {
>           // Success on alternate server, update
>           InetSocketAddress address = client.getAddress();
>           namenodeResolver.updateActiveNamenode(nsId, address);
>        }



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to