Thanks, Walker.

That change looks good to me.

-John

On Mon, 2020-10-19 at 12:06 -0700, Walker Carlson wrote:
> Hello all,
> 
> Taking into account the feedback about that last change I have removed some
> of the changes and no longer will we have a separate handler for the global
> thread. To make it so we can align the handlers there will also be no
> option to just remove a stream thread.
> 
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-671%3A+Introduce+Kafka+Streams+Specific+Uncaught+Exception+Handler
> 
> If you have any concerns please let me know,
> Walker
> 
> On Wed, Oct 14, 2020 at 12:51 PM John Roesler <vvcep...@apache.org> wrote:
> 
> > Thanks, Sophie,
> > 
> > That makes sense. Should we add a whole new interface and a
> > separate kind of listener just because global threads don't
> > support restarts _yet_, though?
> > 
> > It seems like that will just widen the API surface area, and
> > in a few more months, there will be no more difference
> > between the two handlers. But people will forever afterward
> > have to register two different handlers to do the same
> > thing.
> > 
> > Two alternatives we could consider:
> > 1. Just don't add the "restart" option until it's possible
> > for all threads. This KIP is already accepted with a
> > "restart" option that we know won't be added until KIP-663
> > is done. Maybe we just wait for KIP-406 as well. But the
> > _rest_ of this KIP can be implemented in the mean time.
> > 2. Just log an error and kill the thread anyway if the
> > handler for the global thread opts to "retry".
> > 
> > In general, it seems like the problem at hand is better
> > solved by allowing/disallowing that one option, versus
> > adding a whole new interface.
> > 
> > Thanks,
> > -John
> > 
> > On Wed, 2020-10-14 at 11:48 -0700, Sophie Blee-Goldman
> > wrote:
> > > I don't think the proposal was to *never* add the "replace" functionality
> > > for
> > > the global thread, but we didn't want to tie up this KIP with anything
> > more.
> > > As I understand it, the goal of Walker's proposal was to set us up for
> > > success if/when we want to add new functionality for the global thread,
> > > without necessarily committing to it at this time.
> > > 
> > > Restarting the global thread will take a bit more work since you need to
> > > pause any further work that relies on global state until it's back up.
> > > That's
> > > starting to sound more in the purview of KIP-406 whose current goal
> > > is to effectively restart the global thread on a specific type of
> > exception
> > > (OffsetOutOfRange). If we want to consider expanding that to allow users
> > > to choose to restart the thread, then KIP-406 seems like the more
> > > appropriate place to engage in that discussion.
> > > 
> > > On Wed, Oct 14, 2020 at 7:13 AM John Roesler <vvcep...@apache.org>
> > wrote:
> > > > Hello Walker,
> > > > 
> > > > Sorry for the late reply, but I didn’t follow the reasoning for the
> > > > separate handler. You said that the global thread doesn’t have
> > “replace”,
> > > > but as of today, none of the threads have “replace”. Why not add that
> > > > ability when we add it for the other threads?
> > > > 
> > > > The nature of an uncaught exception handler is that there is an
> > exception
> > > > that will kill the thread. In that case, it seems like replacement is a
> > > > desirable option.
> > > > 
> > > > What have I missed?
> > > > 
> > > > Thanks,
> > > > John
> > > > 
> > > > On Tue, Oct 13, 2020, at 15:49, Walker Carlson wrote:
> > > > > Those are good points Sophie and Matthias. I sepificed the defaults
> > in
> > > > the
> > > > > kip and standardized the names fo the handler to make them a bit more
> > > > > readable.
> > > > > 
> > > > > Thanks for the suggestions,
> > > > > Walker
> > > > > 
> > > > > On Tue, Oct 13, 2020 at 12:24 PM Sophie Blee-Goldman <
> > > > sop...@confluent.io>
> > > > > wrote:
> > > > > 
> > > > > > Super nit: can we standardize the method & enum names?
> > > > > > 
> > > > > > Right now we have these enums:
> > > > > > StreamsUncaughtExceptionHandlerResponse
> > > > > > StreamsUncaughtExceptionHandlerResponseGlobalThread
> > > > > > 
> > > > > > and these callbacks:
> > > > > > handleUncaughtException()
> > > > > > handleExceptionInGlobalThread()
> > > > > > 
> > > > > > The method names have different syntax, which is a bit clunky. I
> > don't
> > > > have
> > > > > > any
> > > > > > strong opinions on what grammar they should follow, just that it
> > > > should be
> > > > > > the
> > > > > > same for each. I also think that we should specify "StreamThread"
> > > > somewhere
> > > > > > in the name of the StreadThread-specific callback, now that we
> > have a
> > > > > > second
> > > > > > callback that specifies it's for the GlobalThread. Something like
> > > > > > "*handleStreamThreadException()*" and
> > "*handleGlobalThreadException*"
> > > > > > The enums are ok, although I think we should include "StreamThread"
> > > > > > somewhere
> > > > > > like with the callbacks. And we can probably shorten them a bit.
> > For
> > > > > > example
> > > > > > "*StreamThreadExceptionResponse*" and
> > "*GlobalThreadExceptionResponse*"
> > > > > > 
> > > > > > 
> > > > > > On Tue, Oct 13, 2020 at 11:48 AM Matthias J. Sax <mj...@apache.org
> > > > wrote:
> > > > > > > Thanks Walker.
> > > > > > > 
> > > > > > > Overall, LGTM. However, I am wondering if we should have default
> > > > > > > implementations for both handler methods? Before the latest
> > change,
> > > > > > > there was only one method and having a default was not necessary.
> > > > > > > However, forcing people to implement both methods might not be
> > the
> > > > best
> > > > > > > user experience: for example, if there is no global thread, one
> > > > should
> > > > > > > not need to implement the global handler method (and the other
> > way
> > > > > > around).
> > > > > > > Thus, it might be good to add default for both methods. If we add
> > > > > > > defaults, we should explain the default behavior to the KIP.
> > > > > > > 
> > > > > > > -Matthias
> > > > > > > 
> > > > > > > On 10/12/20 2:32 PM, Walker Carlson wrote:
> > > > > > > > Hello all,
> > > > > > > > 
> > > > > > > > I just wanted to let you know that I had to make 2 minor
> > updates
> > > > to the
> > > > > > > KIP.
> > > > > > > > 1) I changed the behavior of the shutdown client to not leave
> > the
> > > > > > client
> > > > > > > in
> > > > > > > > Error but instead close directly because this aligns better
> > with
> > > > our
> > > > > > > > state machine.
> > > > > > > > 
> > > > > > > > 2) I added a separate call back for the global thread as it
> > does
> > > > not
> > > > > > have
> > > > > > > > all the options as a streamThread does. i.e. replace. The
> > default
> > > > will
> > > > > > be
> > > > > > > > to close the client. that will also be the only option as that
> > is
> > > > the
> > > > > > > > current behavior for the global thread.
> > > > > > > > 
> > > > > > > > you can find the diff here:
> > > > > > > > 
> > https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=158876566&originalVersion=21&revisedVersion=23
> > > > > > > > If you have any problems with these changes let me know and we
> > can
> > > > > > > discuss
> > > > > > > > them further
> > > > > > > > 
> > > > > > > > Thank you,
> > > > > > > > Walker
> > > > > > > > 
> > > > > > > > On Wed, Sep 30, 2020 at 7:33 AM Walker Carlson <
> > > > wcarl...@confluent.io>
> > > > > > > > wrote:
> > > > > > > > 
> > > > > > > > > Bruno Cadonna <br...@confluent.io>
> > > > > > > > > 4:51 AM (2 hours ago)
> > > > > > > > > to dev
> > > > > > > > > Thank you all for voting!
> > > > > > > > > 
> > > > > > > > > This KIP is accepted with +3 binding (Guozhang, Bill,
> > Matthias)
> > > > and +2
> > > > > > > > > non-binding (Bruno, Leah).
> > > > > > > > > 
> > > > > > > > > Matthias, we will take care of  the global threads, and for
> > the
> > > > > > > > > replacement that will depend on Kip-663.
> > > > > > > > > 
> > > > > > > > > Best,
> > > > > > > > > 
> > > > > > > > > On Wed, Sep 30, 2020 at 4:59 AM Bruno Cadonna <
> > br...@confluent.io
> > > > > > > wrote:
> > > > > > > > > > Thanks a lot Walker!
> > > > > > > > > > 
> > > > > > > > > > +1 (non-binding)
> > > > > > > > > > 
> > > > > > > > > > Best,
> > > > > > > > > > Bruno
> > > > > > > > > > 
> > > > > > > > > > On 30.09.20 03:10, Matthias J. Sax wrote:
> > > > > > > > > > > Thanks Walker. The proposed API changes LGTM.
> > > > > > > > > > > 
> > > > > > > > > > > +1 (binding)
> > > > > > > > > > > 
> > > > > > > > > > > One minor nit: you should also mention the global-thread
> > that
> > > > also
> > > > > > > needs
> > > > > > > > > > > to be shutdown if requested by the user.
> > > > > > > > > > > 
> > > > > > > > > > > Minor side question: should we actually terminate a
> > thread and
> > > > > > create
> > > > > > > a
> > > > > > > > > > > new one, or instead revive the existing thread (reusing
> > its
> > > > existing
> > > > > > > > > > ID)?
> > > > > > > > > > > -Matthias
> > > > > > > > > > > 
> > > > > > > > > > > On 9/29/20 2:39 PM, Bill Bejeck wrote:
> > > > > > > > > > > > Thanks for the KIP Walker.
> > > > > > > > > > > > 
> > > > > > > > > > > > +1 (binding)
> > > > > > > > > > > > 
> > > > > > > > > > > > -Bill
> > > > > > > > > > > > 
> > > > > > > > > > > > On Tue, Sep 29, 2020 at 4:59 PM Guozhang Wang <
> > > > wangg...@gmail.com>
> > > > > > > > > > wrote:
> > > > > > > > > > > > > +1 again on the KIP.
> > > > > > > > > > > > > 
> > > > > > > > > > > > > On Tue, Sep 29, 2020 at 1:51 PM Leah Thomas <
> > > > ltho...@confluent.io
> > > > > > > > > > wrote:
> > > > > > > > > > > > > > Hey Walker,
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > Thanks for the KIP! I'm +1, non-binding.
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > Cheers,
> > > > > > > > > > > > > > Leah
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > On Tue, Sep 29, 2020 at 1:56 PM Walker Carlson <
> > > > > > > > > > wcarl...@confluent.io>
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > Hello all,
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > I made some changes to the KIP the descriptions
> > are on the
> > > > > > > > > > discussion
> > > > > > > > > > > > > > > thread. If you have already voted I would ask
> > you to confirm
> > > > > > your
> > > > > > > > > > vote.
> > > > > > > > > > > > > > > Otherwise please vote so we can get this feature
> > in.
> > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > Walker
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > On Thu, Sep 24, 2020 at 4:36 PM John Roesler <
> > > > > > vvcep...@apache.org
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > Thanks for the KIP, Walker!
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > I’m +1 (binding)
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > -John
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > On Mon, Sep 21, 2020, at 17:04, Guozhang Wang
> > wrote:
> > > > > > > > > > > > > > > > > Thanks for finalizing the KIP. +1 (binding)
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > Guozhang
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > On Mon, Sep 21, 2020 at 1:38 PM Walker
> > Carlson <
> > > > > > > > > > > > > > wcarl...@confluent.io>
> > > > > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > Hello all,
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > I would like to start a thread to vote for
> > KIP-671 to
> > > > add a
> > > > > > > > > > > > > method
> > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > > close
> > > > > > > > > > > > > > > > > > all clients in a kafka streams application.
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > KIP:
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-671%3A+Shutdown+Streams+Application+when+appropriate+exception+is+thrown
> > > > > > > > > > > > > > > > > > Discussion thread: *here
> > > > > > > > > > > > > > > > > > <
> > > > > > > > > > > > > > > > > > 
> > https://mail-archives.apache.org/mod_mbox/kafka-dev/202009.mbox/%3CCAC55fuh3HAGCxz-PzxTJraczy6T-os2oiCV328PBeuJQSVYASg%40mail.gmail.com%3E
> > > > > > > > > > > > > > > > > > > *
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > > > > -Walker
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > -- Guozhang
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > --
> > > > > > > > > > > > > -- Guozhang
> > > > > > > > > > > > > 

Reply via email to