Henry Robinson has posted comments on this change.

Change subject: IMPALA-3575: Add retry to backend connection request and rpc 
timeout
......................................................................


Patch Set 16:

(6 comments)

just looked at the DoRpc*() changes - I think they look much better now.

http://gerrit.cloudera.org:8080/#/c/3343/16/be/src/runtime/client-cache.h
File be/src/runtime/client-cache.h:

Line 226:   /// Returns RPC_RECV_TIMEOUT if a timeout occurred, 
RPC_CLIENT_CONNECT_FAILURE if the
"while waiting for a response"


Line 254:           << e.what() << ", type=" << typeid(e).name();
nit: align << with above


PS16, Line 274: or certain RPCs, server could take long time to process it and 
intentionally block
              :   /// the RPC response to add back pressure. In those cases, 
client needs to retry recv
              :   /// RPC call to wait longer.
suggest: "In certain cases, the server may take longer to provide an RPC 
response than the configured socket timeout. Callers may wish to retry 
receiving the response. This is safe if and only if DoRpc() returned 
RPC_RECV_TIMEOUT and set 'can_retry' to false.".


PS16, Line 299: /// Indicate the rpc call sent by this connection succeeds or 
not. If the rpc call fails
              :   /// for any reason, the connection could be left in a bad 
state and cannot be reused any
              :   /// more.
              :   bool has_rpc_error_;
Why not proactively destroy the connection when this condition is hit?


http://gerrit.cloudera.org:8080/#/c/3343/16/be/src/runtime/data-stream-sender.cc
File be/src/runtime/data-stream-sender.cc:

PS16, Line 228: DoRpcTimedWait
Call this something less generic? Even DoTransmitDataRpc() would work.


PS16, Line 232: (timeout_ms == 0) ? 0 : 
if you just MonotonicMillis() + timeout_ms, and check for MonotonicMillis() >= 
deadline on line 235, you don't need the special case for timeout_ms == 0 I 
think.


-- 
To view, visit http://gerrit.cloudera.org:8080/3343
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id6723cfe58df6217f4a9cdd12facd320cbc24964
Gerrit-PatchSet: 16
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Juan Yu <j...@cloudera.com>
Gerrit-Reviewer: Alan Choi <a...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com>
Gerrit-Reviewer: Henry Robinson <he...@cloudera.com>
Gerrit-Reviewer: Huaisi Xu <h...@cloudera.com>
Gerrit-Reviewer: Juan Yu <j...@cloudera.com>
Gerrit-Reviewer: Sailesh Mukil <sail...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to