You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2019/06/13 06:38:00 UTC
[jira] [Commented] (IMPALA-8143) Add features to DoRpcWithRetry()
[ https://issues.apache.org/jira/browse/IMPALA-8143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16862760#comment-16862760 ]
ASF subversion and git services commented on IMPALA-8143:
---------------------------------------------------------
Commit 94652d74521e95e8606ea2d22aabcaddde6fc471 in impala's branch refs/heads/master from Andrew Sherman
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=94652d7 ]
IMPALA-8143: Enhance DoRpcWithRetry().
Allow callers of RpcMgr::DoRpcWithRetry to specify a time to sleep if
the remote service is busy. DoRpcWithRetry now only sleeps if the remote
service is busy.
TESTING:
Ran all end-to-end tests.
Add two new tests to rpc-mgr-test.cc which test RpcMgr::DoRpcWithRetry.
One test uses a fake Proxy class, the other uses a new DebugAction to
cause Krpc calls to be rejected as if the service was too busy.
Change-Id: Ia9693151c35e02235665b3c285a48c585973d390
Reviewed-on: http://gerrit.cloudera.org:8080/12672
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
> Add features to DoRpcWithRetry()
> --------------------------------
>
> Key: IMPALA-8143
> URL: https://issues.apache.org/jira/browse/IMPALA-8143
> Project: IMPALA
> Issue Type: Task
> Reporter: Andrew Sherman
> Assignee: Andrew Sherman
> Priority: Major
>
> DoRpcWithRetry() is a templated utility function that is currently in control-service.h that is used to retry synchronous Krpc calls. It makes a call to a Krpc function that is is passed as a lambda function. It sets the krpc timeout to the ‘krpc_timeout‘ parameter and calls the Krpc function a number of times controlled by the ‘times_to_try’ parameter.
> Possible improvements:
> * Move code to rpc-mgr.inline.h
> * Add a configurable sleep if RpcMgr::IsServerTooBusy() says the remote server’s queue is full.
> * Do we want exponential backoff? How can we test this?
> * how long should the sleep be for existing clients?
> * Make QueryState::ReportExecStatus() use DoRpcWithRetry()
> * Consider if asynchronous code like that in KrpcDataStreamSender::Channel can also use DoRpcWithRetry()
> * Replace FAULT_INJECTION_RPC_DELAY with DebugAction
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org