[ https://issues.apache.org/jira/browse/HDFS-11395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15894925#comment-15894925 ]
Jing Zhao commented on HDFS-11395: ---------------------------------- Thanks for updating the patch, [~nandakumar131]. Some further comments on the latest patch: # In RetryAction, the usage of the new member field {{exception}} is for FAIL case. Thus maybe we can: #* rename "exception" to failException #* assign a value to this field only when the action is FAIL: {code} + Exception ex = null; {code} # Looks like we should not only get {{RemoteException}} out of {{ex}}, but more generally get the cause of other types of exceptions. Note exceptions like ConnectException and EOFException should also be exposed to retry policies. {code} RemoteException rEx = getRemoteException(ex); if(rEx != null) { badResults.put(tProxyInfo.proxyInfo, rEx); } else { badResults.put(tProxyInfo.proxyInfo, ex); } {code} # It will be helpful if we can also have a unit test for the above ConnectException/EOFException case. # Need to fix indentation, line length etc. for {{testHedgingWhenFileNotFoundException}}. > RequestHedgingProxyProvider#RequestHedgingInvocationHandler hides the > Exception thrown from NameNode > ---------------------------------------------------------------------------------------------------- > > Key: HDFS-11395 > URL: https://issues.apache.org/jira/browse/HDFS-11395 > Project: Hadoop HDFS > Issue Type: Bug > Components: ha > Reporter: Nandakumar > Assignee: Nandakumar > Attachments: HDFS-11395.000.patch, HDFS-11395.001.patch, > HDFS-11395.002.patch > > > When using RequestHedgingProxyProvider, in case of Exception (like > FileNotFoundException) from ActiveNameNode, > {{RequestHedgingProxyProvider#RequestHedgingInvocationHandler.invoke}} > receives {{ExecutionException}} since we use {{CompletionService}} for the > call. The ExecutionException is put into a map and wrapped with > {{MultiException}}. > So for a FileNotFoundException the client receives > {{MultiException(Map(ExecutionException(InvocationTargetException(RemoteException(FileNotFoundException)))))}} > It will cause problem in clients which are handling RemoteExceptions. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org