[jira] [Created] (IMPALA-8143) Add features to DoRpcWithRetry()

2019-01-29 Thread Andrew Sherman (JIRA)
Andrew Sherman created IMPALA-8143:
--

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


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.
 * Make QueryState::ReportExecStatus() use DoRpcWithRetry()
 * Consider if asynchronous code like that in KrpcDataStreamSender::Channel  
can also use DoRpcWithRetry()



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Created] (IMPALA-8143) Add features to DoRpcWithRetry()

2019-01-29 Thread Andrew Sherman (JIRA)
Andrew Sherman created IMPALA-8143:
--

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


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.
 * Make QueryState::ReportExecStatus() use DoRpcWithRetry()
 * Consider if asynchronous code like that in KrpcDataStreamSender::Channel  
can also use DoRpcWithRetry()



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)