You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Adar Dembo (Code Review)" <ge...@ip-10-146-233-104.ec2.internal> on 2016/02/02 03:44:44 UTC

[kudu-CR] KUDU-1272: better error messages when client deadlines expire

Hello Jean-Daniel Cryans, Todd Lipcon,

I'd like you to do a code review.  Please visit

    http://gerrit.cloudera.org:8080/1986

to review the following change.

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
---
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
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
6 files changed, 79 insertions(+), 33 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/86/1986/1
-- 
To view, visit http://gerrit.cloudera.org:8080/1986
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iee294fd5d348fee37324d1bbc4119c20fc0299c2
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Jean-Daniel Cryans
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>