Hey Bruno,

Thanks for your response!

1) Yup I'm good with option a) as well.
2) Thanks!
3) Sounds good to me. I think it would not change any StreamThread
implementation regarding capturing exceptions from consumer.poll() since it
captures StreamsException as fatal.


Guozhang

On Wed, Dec 16, 2020 at 4:43 AM Bruno Cadonna <br...@confluent.io> wrote:

> Hi Guozhang,
>
> Thank for the feedback!
>
> Please find my answers inline.
>
> Best,
> Bruno
>
>
> On 14.12.20 23:33, Guozhang Wang wrote:
> > Hello Bruno,
> >
> > Just a few more questions about the KIP:
> >
> > 1) If the internal topics exist but the calculated num.partitions do not
> > match the existing topics, what would Streams do;
>
> Good point! I missed to explicitly consider misconfigurations in the KIP.
>
> I propose to throw a fatal error in this case during manual and
> automatic initialization. For the fatal error, we have two options:
> a) introduce a second exception besides MissingInternalTopicException,
> e.g. MisconfiguredInternalTopicException
> b) rename MissingInternalTopicException to
> MissingOrMisconfiguredInternalTopicException and throw that in both cases.
>
> Since the process to react on such an exception user-side should be
> similar, I am fine with option b). However, IMO option a) is a bit
> cleaner. WDYT?
>
> > 2) Since `init()` is a blocking call (we only return after all topics are
> > confirmed to be created), should we have a timeout for this call as well
> or
> > not;
>
> I will add an overload with a timeout to the KIP.
>
> > 3) If the configure is set to `MANUAL_SETUP`, then during rebalance do we
> > still check if number of partitions of the existing topic match or not;
> if
> > not, do we throw the newly added exception or throw a fatal
> > StreamsException? Today we would throw the StreamsException from assign()
> > which would be then thrown from consumer.poll() as a fatal error.
> >
>
> Yes, I think we should check if the number of partitions match. I
> propose to throw the newly added exception in the same way as we throw
> now the MissingSourceTopicException, i.e., throw it from
> consumer.poll(). WDYT?
>
> > Guozhang
> >
> >
> > On Mon, Dec 14, 2020 at 12:47 PM John Roesler <vvcep...@apache.org>
> wrote:
> >
> >> Thanks, Bruno!
> >>
> >> I'm +1 (binding)
> >>
> >> -John
> >>
> >> On Mon, 2020-12-14 at 09:57 -0600, Leah Thomas wrote:
> >>> Thanks for the KIP Bruno, LGTM. +1 (non-binding)
> >>>
> >>> Cheers,
> >>> Leah
> >>>
> >>> On Mon, Dec 14, 2020 at 4:29 AM Bruno Cadonna <br...@confluent.io>
> >> wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'd like to start the voting on KIP-698 that proposes an explicit user
> >>>> initialization of broker-side state for Kafka Streams instead of
> >> letting
> >>>> Kafka Streams setting up the broker-side state automatically during
> >>>> rebalance. Such an explicit initialization avoids possible data loss
> >>>> issues due to automatic initialization.
> >>>>
> >>>> https://cwiki.apache.org/confluence/x/7CnZCQ
> >>>>
> >>>> Best,
> >>>> Bruno
> >>>>
> >>
> >>
> >>
> >
>


-- 
-- Guozhang

Reply via email to