You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "David Ribeiro Alves (Code Review)" <ge...@cloudera.org> on 2016/05/24 16:28:14 UTC

[kudu-CR] Add a RpcContext::RespondFailure() method

David Ribeiro Alves has uploaded a new change for review.

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

Change subject: Add a RpcContext::RespondFailure() method
......................................................................

Add a RpcContext::RespondFailure() method

In the case of certain errors we use RpcContext::RespondSuccess() because
setting the error is call dependent and it was done on the call's request.
Since we'll be relying on the RpcContext to call the appropriate method
on the ResultTracker, on the common case, we'd still be marking these error
cases as successful RPCs whose results we keep. This is problematic for
various reasons, the main one being that if a client gets a transient error
back (e.g. the call was throttled) all subsequent attemtpts at the same
call will get the same result.

To avoid this we need to be able to flag that a call failed even if we don't
need anything else done to the response. To this goal this patch adds
RpcContext::RespondFailure(), which currently does nothing else besides
call RespondSuccess(), but will do so when the result tracker is integrated
in.

Change-Id: I9f1387ba0f837046a8056e77f73a3982f06c73a2
---
M src/kudu/rpc/rpc_context.cc
M src/kudu/rpc/rpc_context.h
2 files changed, 16 insertions(+), 0 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f1387ba0f837046a8056e77f73a3982f06c73a2
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves <da...@cloudera.com>