Juan Yu has posted comments on this change. Change subject: IMPALA-3575: Add retry to backend connection request and rpc timeout ......................................................................
Patch Set 16: (6 comments) 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" Done Line 254: << e.what() << ", type=" << typeid(e).name(); > nit: align << with above Done 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 re Done 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? As discussed offline, I don't want to change destroy the connection right away because the retry logic in DoRpc. 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. Done PS16, Line 232: (timeout_ms == 0) ? 0 : > if you just MonotonicMillis() + timeout_ms, and check for MonotonicMillis() timeout == 0 means wait infinitely. I add comments for that. -- 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 <[email protected]> Gerrit-Reviewer: Alan Choi <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Henry Robinson <[email protected]> Gerrit-Reviewer: Huaisi Xu <[email protected]> Gerrit-Reviewer: Juan Yu <[email protected]> Gerrit-Reviewer: Sailesh Mukil <[email protected]> Gerrit-HasComments: Yes
