Hello David Ribeiro Alves, Jean-Daniel Cryans, Alexey Serbin, I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/7362 to review the following change. Change subject: WIP: java: prohibit use of a KuduTable from an unassociated KuduClient ...................................................................... WIP: java: prohibit use of a KuduTable from an unassociated KuduClient This fixes a request-tracking issue with the following code anti-pattern in which a KuduTable associated with one client is used to create operations applied to another client's session: KuduClient client1 = KuduClientBuilder....newClient(); KuduTable t = client1.openTable(...); KuduClient client2 = KuduClientBuilder....newClient(); KuduSession s = client2.newSession(); s.apply(t.newUpdate()); This would cause sequence numbers to be generated out of the session's client's RequestTracker, but then marked complete in the operation's client's RequestTracker (or perhaps vice versa, not entirely sure). Either way, this was bad, and seems quite likely to be the root cause of KUDU-2053. This patch adds a Preconditions check for this issue and fixes one test where it was triggered. Submitting to gerrit for a full test run. Also would like to investigate whether Spark is likely to trigger this issue, since the RequestTracker-related issues seem to have all been in the Spark write path. Change-Id: Ib4a977f36b9c7ba3758322a2216ce90208b5d014 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java M java/kudu-client/src/main/java/org/apache/kudu/client/RequestTracker.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java 3 files changed, 34 insertions(+), 35 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/62/7362/1 -- To view, visit http://gerrit.cloudera.org:8080/7362 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib4a977f36b9c7ba3758322a2216ce90208b5d014 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org>