[ https://issues.apache.org/jira/browse/IMPALA-8143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Sherman updated IMPALA-8143: ----------------------------------- Description: 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() * Replace FAULT_INJECTION_RPC_DELAY with DebugAction was: 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() > 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. > * 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-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org