Jean-Daniel Cryans has submitted this change and it was merged. Change subject: [java client] Remove timeouts when joining in the sync client ......................................................................
[java client] Remove timeouts when joining in the sync client Folks have often seen the following exception: CAUSED BY: TimeoutException: Timed out after 1ms when joining followed by some gibberish about Deferreds. What happens here is that we short-circuit the operation and we return to the user exactly when the timeout they provided expire. This is nice because it means we respect their deadline to the millisecond. But it's not nice because we don't know what's going on with their operation and in many cases we have nothing to interrogate. This patch removes the timeout when calling Deferred.join() so that the timeout instead comes from the client internals with all the context we need. The two downsides are 1) we will not be able to respect their timeout as closely and 2) if there's a bug in the client then it might join forever. The latter means we expose bugs, so it's not that bad. This patch also changes DeferredGroupException handling to make it more useful. Change-Id: Iff4c0783e3c338d268ee1e37b000d45517b3880b Reviewed-on: http://gerrit.cloudera.org:8080/4871 Reviewed-by: Adar Dembo <a...@cloudera.com> Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon <t...@apache.org> --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduException.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduSession.java 5 files changed, 17 insertions(+), 33 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Todd Lipcon: Looks good to me, but someone else must approve Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4871 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iff4c0783e3c338d268ee1e37b000d45517b3880b Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>