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]>
