Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/17486 )
Change subject: KUDU-3277 fix concurrent session flush issue in Java client ...................................................................... Patch Set 1: (3 comments) Looks like the test failed in TSAN. The workload might be a little too intense and the slower TSAN environment times out. 1) testConcurrentFlush(org.apache.kudu.client.TestKuduClient) org.junit.runners.model.TestTimedOutException: test timed out after 100000 milliseconds at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231) at org.apache.kudu.client.TestKuduClient.testConcurrentFlush(TestKuduClient.java:1530) http://gerrit.cloudera.org:8080/#/c/17486/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java File java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java: http://gerrit.cloudera.org:8080/#/c/17486/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@894 PS1, Line 894: if (injectLatencyBufferFlushCb) { : try { : Thread.sleep(randomizer.nextInt(16)); : } catch (InterruptedException e) { : Thread.currentThread().interrupt(); : } : } > I would be happy to have this only in 'debug' mode, but I didn't find a way Java does't really have multiple binary types. This approach makes sense. http://gerrit.cloudera.org:8080/#/c/17486/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@1005 PS1, Line 1005: injectLatencyBufferFlushCb = injectLatency; Maybe log a warning here so it's easy to tell from the logs that latency will be injected just in case. http://gerrit.cloudera.org:8080/#/c/17486/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java: http://gerrit.cloudera.org:8080/#/c/17486/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java@1468 PS1, Line 1468: 501 Is this specific value particularly significant? Looks like it's just over half the default of 1000. -- To view, visit http://gerrit.cloudera.org:8080/17486 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If6aaccc06abf1a2673620ab7c649f51f91999ad9 Gerrit-Change-Number: 17486 Gerrit-PatchSet: 1 Gerrit-Owner: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Bankim Bhavsar <ban...@cloudera.com> Gerrit-Reviewer: Grant Henke <granthe...@apache.org> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Comment-Date: Sat, 22 May 2021 13:35:51 +0000 Gerrit-HasComments: Yes