Adar Dembo has submitted this change and it was merged.

Change subject: KUDU-1272: better error messages when client deadlines expire
......................................................................


KUDU-1272: better error messages when client deadlines expire

There are two problems here:
1. When an RpcController is configured with a deadline in the past, the
   subsequent RPC status message will include a negative timeout.
2. If a deadline expires during an RPC, we don't do a great job of inserting
   the operation name into the RPC status message.

To address #1, we need to stop using deadlines from the past as short
circuits to instantly time out operations. Barring the removal of the
deadline from RpcController's generated status message, we must explicitly
check for timeouts before sending RPCs.

For #2, I sprinkled some CloneAndAppend calls here and there to improve
status messages. It's pretty hard to reason about the scanner CanBeRetried()
method, so I left it alone. Spaghetti code abounds.

Change-Id: Iee294fd5d348fee37324d1bbc4119c20fc0299c2
Reviewed-on: http://gerrit.cloudera.org:8080/1986
Tested-by: Adar Dembo <[email protected]>
Reviewed-by: Jean-Daniel Cryans
---
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client-test.cc
M src/kudu/client/client.cc
M src/kudu/client/meta_cache.cc
M src/kudu/client/scanner-internal.cc
M src/kudu/client/table-internal.cc
7 files changed, 80 insertions(+), 34 deletions(-)

Approvals:
  Jean-Daniel Cryans: Looks good to me, approved
  Adar Dembo: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iee294fd5d348fee37324d1bbc4119c20fc0299c2
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Jean-Daniel Cryans
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to