You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Deneche A. Hakim (JIRA)" <ji...@apache.org> on 2015/12/14 22:41:46 UTC
[jira] [Created] (DRILL-4197) RpcBus.run() only sends a failure
when a UserRpcException is caught
Deneche A. Hakim created DRILL-4197:
---------------------------------------
Summary: 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
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)