Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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 Reviewed-on: http://gerrit.cloudera.org:8080/13308 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo <[email protected]> Reviewed-by: Andrew Wong <[email protected]>
- Loading branch information