Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13308


Change subject: [java] Fix handling of SERVICE_UNAVAILABLE errors
......................................................................

[java] Fix handling of SERVICE_UNAVAILABLE errors

When the Java client sends a write, and it is rejected due to, e.g., a
soft memory limit error, it causes the client to invalidate the leader's
location for the tablet. The client then has to do a GetTableLocations
lookup on the master to refresh the cache. This is silly because the
location is valid and the leader is where the write must go. This patch
corrects the handling of certain RPC-level errors including the handling
of SERVICE_UNAVAILABLE. It will reduce greatly the number of unnecessary
calls to the master. These usually aren't a problem because master
lookups are fast, but it's a waste of time and resources nonetheless.

Change-Id: Id3437c779322e756a6e1fbc19f464f765741d58b
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/RpcProxy.java
2 files changed, 14 insertions(+), 3 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id3437c779322e756a6e1fbc19f464f765741d58b
Gerrit-Change-Number: 13308
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley <[email protected]>

Reply via email to