[ 
https://issues.apache.org/jira/browse/DRILL-4197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Deneche A. Hakim updated DRILL-4197:
------------------------------------
    Target Version/s:   (was: Future)

> RpcBus.run() only sends a failure when a UserRpcException is caught
> -------------------------------------------------------------------
>
>                 Key: DRILL-4197
>                 URL: https://issues.apache.org/jira/browse/DRILL-4197
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - RPC
>    Affects Versions: 1.3.0
>            Reporter: Deneche A. Hakim
>             Fix For: Future
>
>
> RpcBus.run is implemented as follows:
> {code}
>     public void run() {
>       try {
>         handle(connection, rpcType, pBody, dBody, sender);
>       } catch (UserRpcException e) {
>         sender.sendFailure(e);
>       } catch (Exception e) {
>         logger.error("Failure while handling message.", e);
>       }finally{
>         if(pBody != null){
>           pBody.release();
>         }
>         if(dBody != null){
>           dBody.release();
>         }
>       }
>     }
> {code}
> If an exception is thrown that is not a {{UserRpcException}}, it will just be 
> logged and won't be propagated to the sender as a failure.
> For example, if we are starting a remote leaf fragment and we get an 
> InvalidProtobufException, the Foreman will never be notified that the leaf 
> failed to start, and the query hangs forever.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to