Henry Robinson has posted comments on this change. Change subject: IMPALA-3575: Add retry to backend connection request and rpc timeout ......................................................................
Patch Set 19: (15 comments) I think this looks good now. I'll keep thinking about it. Dan should do another round as well to give it the +2. http://gerrit.cloudera.org:8080/#/c/3343/19/be/src/common/global-flags.cc File be/src/common/global-flags.cc: PS19, Line 104: specify nit: 'specifies' http://gerrit.cloudera.org:8080/#/c/3343/19/be/src/runtime/client-cache.h File be/src/runtime/client-cache.h: PS19, Line 224: can_retry update comment PS19, Line 246: retry_is_safe nit: be explicit here if (retry_is_safe != NULL) PS19, Line 277: RPC_RECV_TIMEOUT and retry_is_safe == false, right? Otherwise we'll hang receiving data that will never show up. PS19, Line 289: retry retrying Line 300: /// Indicate the last rpc call sent by this connection succeeds or not. If the rpc call nit: blank line before this one PS19, Line 303: bool last_rpc_succeed_; last_rpc_succeeded_ Still prefer "client_is_unrecoverable_" to more clearly describe the state, but don't feel so strongly about it. PS19, Line 389: it's already bad it's left in an unrecoverable state after errors in DoRpc() http://gerrit.cloudera.org:8080/#/c/3343/19/be/src/runtime/data-stream-sender.cc File be/src/runtime/data-stream-sender.cc: PS19, Line 154: i nit: If PS19, Line 154: infinitely indefinitely http://gerrit.cloudera.org:8080/#/c/3343/19/be/src/statestore/statestore.cc File be/src/statestore/statestore.cc: PS19, Line 661: subscriber->id(), FLAGS_statestore_heartbeat_tcp_timeout_seconds)); why did you remove the subscriber address here? Is it because it's already in the error message? http://gerrit.cloudera.org:8080/#/c/3343/19/be/src/testutil/fault-injection-util.h File be/src/testutil/fault-injection-util.h: PS19, Line 16: FAULT_INJECTION__ not the same string as above PS19, Line 41: int32_t should these types be RpcCallType? PS19, Line 41: inline I don't think you have to mark this as inline. It only shows up in debug builds, and isn't very expensive. http://gerrit.cloudera.org:8080/#/c/3343/19/tests/custom_cluster/test_rpc_timeout.py File tests/custom_cluster/test_rpc_timeout.py: PS19, Line 80: nit: indentation is off (should be two spaces, here and elsewhere) -- 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: 19 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
