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)