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

Reply via email to