Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13496


Change subject: [java] Fix ordering bug in AsyncKuduSession
......................................................................

[java] Fix ordering bug in AsyncKuduSession

AsyncKuduSession.testBatchErrorCauseSessionStuck occasionally failed
because AsyncKuduSession#hasPendingOperations returned true even though
the test joined on the deferred results of its two inserts. I tracked
this down to a small mis-ordering of lines where the AsyncKuduSession
fires a flush notification (from a Netty worker thread) before it
actually swaps the just-flushed buffer back to the inactive list, so
there was a small window of time when the client thread could observe
hasPendingOperations() as true even though there were no pending
operations.

I ran the test 100 times in dist-test with this fix and saw no failures.
I didn't run the test pre-fix through dist-test but the flaky dashboard
indicated it was 2-3% flaky.

Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
1 file changed, 1 insertion(+), 1 deletion(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/96/13496/1
--
To view, visit http://gerrit.cloudera.org:8080/13496
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
Gerrit-Change-Number: 13496
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley <[email protected]>

Reply via email to