Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
In HDFS-7858 RequestHedgingProxyProvider was designed to "first simultaneously call multiple configured NNs to decide which is the active Namenode and then for subsequent calls it will invoke the previously successful NN ." But the current code call multiple configured NNs every time even when we already got the successful NN.
That's because in RetryInvocationHandler.java, ProxyDescriptor's member proxyInfo is assigned only when it is constructed or when failover occurs. RequestHedgingProxyProvider.currentUsedProxy is null in both cases, so the only proxy we can get is always a dynamic proxy handled by RequestHedgingInvocationHandler.class. RequestHedgingInvocationHandler.class handles invoked method by calling multiple configured NNs.
Attachments
Attachments
Issue Links
- is related to
-
HDFS-12813 RequestHedgingProxyProvider can hide Exception thrown from the Namenode for proxy size of 1
- Resolved
-
HDFS-7858 Improve HA Namenode Failover detection on the client
- Resolved