You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Kezhu Wang (Jira)" <ji...@apache.org> on 2021/03/02 15:53:00 UTC

[jira] [Created] (FLINK-21564) CommonTestUtils.waitUntilCondition could fail with condition meets before

Kezhu Wang created FLINK-21564:
----------------------------------

             Summary: 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


{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)