[ 
https://issues.apache.org/jira/browse/HDFS-11395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15891553#comment-15891553
 ] 

Nandakumar commented on HDFS-11395:
-----------------------------------

Thanks for the review [~jingzhao]. 

I agree, we should not simply throw the first exception. It will be helpful if 
you can provide some input on 

bq. Not mix detailed exception handling logic into RequestHedgingProxyProvider
True, but in case of non RemoteException from ExecutionException, what should 
be done?

bq. Then in RetryInvocationHandler#newRetryInfo, we should let this method 
return both the RetryInfo and the exception to throw from the MultiException.
In that case, is it ok to add an additional field to 
{{RetryInvocationHandler#RetryInfo}} for holding Exception when 
{{RetryInfo.action == RetryAction.RetryDecision.FAIL}} ?



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

Reply via email to