[
https://issues.apache.org/jira/browse/FLINK-21564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295033#comment-17295033
]
Nicholas Jiang edited comment on FLINK-21564 at 3/4/21, 6:43 AM:
-----------------------------------------------------------------
[~kezhuw], according to the logic of the codes you provide, you just simplify
the check logic for whether has time left, right? And this simplify makes sense
to me.
was (Author: nicholasjiang):
[~kezhuw], according to the logic of the codes you provide, you just simplify
the check logic for whether has time left, right?
> 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)