Hello Walker,

Thanks for the KIP! Overall it looks reasonable to me. Just a few minor
comments for the wiki page itself:

1) Could you clarify the conditions when RUNNING / REBALANCING ->
PENDING_ERROR will happen; and when PENDING_ERROR -> ERROR will happen.
E.g. when I read "Streams will only reach ERROR state in the event of an
exceptional failure in which the `StreamsUncaughtExceptionHandler` chose to
either shutdown the application or the client." I thought the first
transition would happen before the handler, and the second transition would
happen immediately after the handler returns "shutdown client" or "shutdown
application", until I read the last statement regarding "SHUTDOWN_CLIENT".

2) A compatibility issue: today it is possible that users would call
Streams APIs like shutdown in the global state transition listener. And
it's common to try shutting down the application automatically when
transiting to ERROR (assuming it was not a terminating state). I think we
could consider making this call a no-op and log a warning.

3) Could you link the following JIRAs in the "JIRA" field?

https://issues.apache.org/jira/browse/KAFKA-10555
https://issues.apache.org/jira/browse/KAFKA-9638
https://issues.apache.org/jira/browse/KAFKA-6520

And maybe we can also left a comment on those tickets explaining what would
happen to tackle the issues after this KIP.


Guozhang


On Tue, Dec 8, 2020 at 12:16 PM Walker Carlson <wcarl...@confluent.io>
wrote:

> Hello all,
>
> I'd like to propose KIP-696 to clarify the meaning of ERROR state in the
> KafkaStreams Client State Machine. This will update the States to be
> consistent with changes in KIP-671 and KIP-663.
>
> Here are the details: https://cwiki.apache.org/confluence/x/lCvZCQ
>
> Thanks,
> Walker
>


-- 
-- Guozhang

Reply via email to