[ 
https://issues.apache.org/jira/browse/BEAM-9470?focusedWorklogId=402338&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-402338
 ]

ASF GitHub Bot logged work on BEAM-9470:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Mar/20 17:32
            Start Date: 12/Mar/20 17:32
    Worklog Time Spent: 10m 
      Work Description: aromanenko-dev commented on pull request #11090: 
[BEAM-9470] :sdks:java:io:kinesis:test is flaky
URL: https://github.com/apache/beam/pull/11090#discussion_r391779556
 
 

 ##########
 File path: 
sdks/java/io/kinesis/src/test/java/org/apache/beam/sdk/io/kinesis/ShardReadersPoolTest.java
 ##########
 @@ -324,10 +325,15 @@ public void shouldCallRateLimitPolicy()
       }
     }
 
+    ArgumentCaptor<List<KinesisRecord>> recordsCaptor = 
ArgumentCaptor.forClass(List.class);
+    verify(customRateLimitPolicy, 
atLeastOnce()).onSuccess(recordsCaptor.capture());
+    List<List<KinesisRecord>> capturedRecords = recordsCaptor.getAllValues();
+    assertThat(capturedRecords).contains(
+        ImmutableList.of(a, b),
+        singletonList(c),
+        singletonList(d),
+        Collections.emptyList()
+    );
     verify(customRateLimitPolicy).onThrottle(same(e));
-    verify(customRateLimitPolicy).onSuccess(eq(ImmutableList.of(a, b)));
-    verify(customRateLimitPolicy).onSuccess(eq(singletonList(c)));
-    verify(customRateLimitPolicy).onSuccess(eq(singletonList(d)));
 
 Review comment:
   I did some testing on my side and I think that the problem is with using the 
same mock of `RateLimitPolicy` for both `ShardRecordsIterator`s calling in 
different threads. For example, when failed assertion says that "d" record is 
absent in `capturedRecords`, actually I see (using debug output) that it was 
read with `shardRecordsIterator.readNextBatch()` in `readLoop()`.
   Since, in case of using the real `RateLimitPolicy` in normal code, the 
instances of them will be created per every `readLoop()` thread (right?). So, 
we need to test it in the same way with mock policies.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 402338)
    Time Spent: 6h  (was: 5h 50m)

> :sdks:java:io:kinesis:test is flaky
> -----------------------------------
>
>                 Key: BEAM-9470
>                 URL: https://issues.apache.org/jira/browse/BEAM-9470
>             Project: Beam
>          Issue Type: Test
>          Components: io-java-kinesis
>            Reporter: Etienne Chauchot
>            Assignee: Jonothan Farr
>            Priority: Major
>          Time Spent: 6h
>  Remaining Estimate: 0h
>
> [https://scans.gradle.com/s/b4jmmu72ku5jc/console-log?task=:sdks:java:io:kinesis:test]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to