[ https://issues.apache.org/jira/browse/HDFS-11395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15876930#comment-15876930 ]
Arpit Agarwal commented on HDFS-11395: -------------------------------------- Thanks for reporting this [~nanda131]. Short-circuiting the execution looks wrong. {code} RemoteException rEx = getRemoteException(ex); if(rEx !=null && !isStandbyException(ex)) { throw rEx; } {code} However your change to unwrap the RemoteException is correct. What happens if you throw the unwrapped RemoteExceptions via MultiException i.e. throw {{MultiException(RemoteException(Exception1), RemoteException(Exception2))}}? > 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 > > > 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