Jean-Daniel Cryans has submitted this change and it was merged. Change subject: [java client] Reinstate KUDU-1364's behavior, fix NPE ......................................................................
[java client] Reinstate KUDU-1364's behavior, fix NPE When d5082d8 tried to fix the client2tablets leak, it also undid the work from KUDU-1364, while also adding new problems. This patch brings back the caching of replica locations even when getting TS disconnections by not purging the RemoteTablet caches on disconnection. Instead, it is now done by the retried RPCs themselves after TabletClient detects an uncaughtException, similarly to how it was calling demoteAsLeaderForAllTablets before. The NPE is fixed with a null check, it's an unfortunate race. I spent some time trying to come up with a simple test but failed. ITClient has found the issue before so we know we have _some_ coverage. Change-Id: I8e0ed23fbf4c655037b77173a187c3fa11de4f63 Reviewed-on: http://gerrit.cloudera.org:8080/4501 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves <[email protected]> --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java 2 files changed, 23 insertions(+), 40 deletions(-) Approvals: David Ribeiro Alves: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4501 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8e0ed23fbf4c655037b77173a187c3fa11de4f63 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Jean-Daniel Cryans <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Jean-Daniel Cryans <[email protected]> Gerrit-Reviewer: Kudu Jenkins
