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

Nicholas Jiang commented on FLINK-21564:
----------------------------------------

[~kezhuw], is your point that 
{code:java}
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}

> 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