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 <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Bankim Bhavsar <[email protected]>
Gerrit-Reviewer: Grant Henke <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Sat, 22 May 2021 13:35:51 +0000
Gerrit-HasComments: Yes