[
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]