[
https://issues.apache.org/jira/browse/BEAM-9470?focusedWorklogId=401620&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-401620
]
ASF GitHub Bot logged work on BEAM-9470:
----------------------------------------
Author: ASF GitHub Bot
Created on: 11/Mar/20 17:56
Start Date: 11/Mar/20 17:56
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_r391151296
##########
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 run this test thousands of times locally (with `@RepeatedTest(10000)`
and some hacks to run it on Junit5) and I've managed to reproduce it only twice
with the similar but a bit different error as it was on Jenkins.
Jenkins error:
https://gist.github.com/aromanenko-dev/f9714c3dd5a47a9439b9245f3ef7b04b
My local error (old test version):
https://gist.github.com/aromanenko-dev/9a8acf265b96e010ad0ad1d09bb3ab92
The common thing there is that it starts to emit empty records list after it
returned a list with `c` value.
Also, I did the same thing for new version of test and it's also
reproducible (2 fails over 1000 runs):
My local error (new test version) 1st fail:
https://gist.github.com/aromanenko-dev/faa4229a486117d7504e486282503009
My local error (new test version) 2nd fail:
https://gist.github.com/aromanenko-dev/751cd007bb89a4f6e67f1ce9f9ef3d25
As you can see actually the errors with old and new versions of tests are
similar. So, it seems that it's not related to `verify` using and more related
to how every mock `ShardRecordsIterator` returns the records. For some reasons
it starts to return just empty list.
----------------------------------------------------------------
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: 401620)
Time Spent: 2.5h (was: 2h 20m)
> :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: 2.5h
> 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)