[
https://issues.apache.org/jira/browse/BEAM-3949?focusedWorklogId=106672&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-106672
]
ASF GitHub Bot logged work on BEAM-3949:
----------------------------------------
Author: ASF GitHub Bot
Created on: 29/May/18 15:15
Start Date: 29/May/18 15:15
Worklog Time Spent: 10m
Work Description: kkucharc commented on a change in pull request #5434:
[BEAM-3949] IOIT's setup() and teardown() db connection attempt sometimes fail
resulting in test flakiness
URL: https://github.com/apache/beam/pull/5434#discussion_r191464726
##########
File path:
sdks/java/io/common/src/test/java/org/apache/beam/sdk/io/common/IOITHelper.java
##########
@@ -36,4 +42,55 @@ public static String getHashForRecordCount(int recordCount,
Map<Integer, String>
}
return hash;
}
+
+ public static void retry(RetryFunction function, int attempts, long delay)
Review comment:
Well, I know this looks a little bit messy but I find it most `clear` way to
do this.
There are two other options:
* Callable - it requires to have result in return. That way for example in
JdbcIOIT, the method `createTable` has to return Void. In my opinion this looks
worse:
```
Void createTable() throws SQLException {
DatabaseTestHelper.createTable(...);
return null;
}
```
* Runnable - this is from old Java and it doesn't throws Exceptions. In that
case if any developer who would like use our `retry()` will have to surround
body of lambda with try catch.
In current state, the `RetryFunction` here is our custom `Runnable` which
throws Exception and doesn't require result message.
For now I can't find any better solution.
Maybe cleaner will be moving interface to `IOITHelper`? What do you think?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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: 106672)
Time Spent: 5h (was: 4h 50m)
> IOIT's setup() and teardown() db connection attempt sometimes fail resulting
> in test flakiness
> ----------------------------------------------------------------------------------------------
>
> Key: BEAM-3949
> URL: https://issues.apache.org/jira/browse/BEAM-3949
> Project: Beam
> Issue Type: Sub-task
> Components: testing
> Reporter: Łukasz Gajowy
> Assignee: Kasia Kucharczyk
> Priority: Major
> Time Spent: 5h
> Remaining Estimate: 0h
>
> setup() and teardown() methods sometimes have trouble connecting database in
> Performance tests. It results in test flakiness.
> Example logs:
> [https://builds.apache.org/view/A-D/view/Beam/job/beam_PerformanceTests_HadoopInputFormat/65/console]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)