kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "huxihx (JIRA)" <j...@apache.org>
Subject [jira] [Created] (KAFKA-6731) waitOnState waits for the wrong state instead of the target one
Date Sun, 01 Apr 2018 10:54:00 GMT
huxihx created KAFKA-6731:
-----------------------------

             Summary: waitOnState waits for the wrong state instead of the target one
                 Key: KAFKA-6731
                 URL: https://issues.apache.org/jira/browse/KAFKA-6731
             Project: Kafka
          Issue Type: Bug
          Components: streams
            Reporter: huxihx


In KafkaStreams.waitOnState, the code will waits the state to be set to NOT_RUNNING instead
of the given target state. Is it deliberately as designed?
{code:java}
// ......
while (state != State.NOT_RUNNING) {
    if (waitMs == 0) {
        try {
            stateLock.wait();
        } catch (final InterruptedException e) {
            // it is ok: just move on to the next iteration
        }
    } else if (waitMs > elapsedMs) {
        long remainingMs = waitMs - elapsedMs;
        try {
            stateLock.wait(remainingMs);
        } catch (final InterruptedException e) {
            // it is ok: just move on to the next iteration
        }
    } else {
        log.debug("Cannot transit to {} within {}ms", targetState, waitMs);
        return false;
    }
    elapsedMs = time.milliseconds() - begin;
}
return true;
{code}
IMO, it should check the state to be the target one. 

[~guozhang] Does is make sense?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message