[ 
https://issues.apache.org/jira/browse/FLINK-21564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295040#comment-17295040
 ] 

Kezhu Wang commented on FLINK-21564:
------------------------------------

[~nicholasjiang] Not about simplification, but guarantee to caller that there 
will be no exception once condition meet.

> CommonTestUtils.waitUntilCondition could fail with condition meets before
> -------------------------------------------------------------------------
>
>                 Key: FLINK-21564
>                 URL: https://issues.apache.org/jira/browse/FLINK-21564
>             Project: Flink
>          Issue Type: Bug
>          Components: Tests
>            Reporter: Kezhu Wang
>            Priority: Minor
>
> {code}
>     public static void waitUntilCondition(
>             SupplierWithException<Boolean, Exception> condition,
>             Deadline timeout,
>             long retryIntervalMillis,
>             String errorMsg)
>             throws Exception {
>         while (timeout.hasTimeLeft() && !condition.get()) {
>             final long timeLeft = Math.max(0, timeout.timeLeft().toMillis());
>             Thread.sleep(Math.min(retryIntervalMillis, timeLeft));
>         }
>         if (!timeout.hasTimeLeft()) {
>             throw new TimeoutException(errorMsg);
>         }
>     }
> {code}
> The timeout could run off between truth condition and last checking.
> Besides this, I also see time-out blocking condition in some tests, the 
> combination could be worse.
> Not a big issue, but worth to be aware of and solved.



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

Reply via email to