David Ribeiro Alves has uploaded a new change for review.

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

Change subject: WIP: Add a generic retriable rpc class
......................................................................

WIP: Add a generic retriable rpc class

Getting some mileage.

This patch adds a new, generic, class for retriable Rpcs: RetriableRpc.
This cass will handle retty logic, such as setting sequence numbers on
the rpc header, as well as number of attempts.

Children of this class no longer have to deal with logic regarding replica
selection, proxy initialization or retrying. They just have to implment:
Try() - Actually sends the rpc to a server.
AnalyzeResponse() - Buckets the response into a few, common, categories.
Finish() - Handle (final) success or failure.

This also refactors WriteRpc to use the new class.

Change-Id: Iaa58bdc5656a5d4d9172885a67363f74718a0c8e
---
A CMakeCache.txt_dc5c3c4a-2596-4a01-9477-46a2ba634740
M src/kudu/client/batcher.cc
A src/kudu/rpc/retriable_rpc.h
M src/kudu/rpc/rpc.h
4 files changed, 509 insertions(+), 113 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaa58bdc5656a5d4d9172885a67363f74718a0c8e
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves <[email protected]>

Reply via email to