PR submitted :) https://github.com/apache/kafka/pull/8520

On Mon, Apr 20, 2020 at 2:34 PM John Roesler <vvcep...@apache.org> wrote:

> Hi Liam,
>
> That sounds like a good idea to me. In fact, I’d go so far as to say we
> should just change the existing example to include a grace period, and not
> bother with an extra example. That would put it front and center.
>
> A PR would be greatly appreciated! Thanks for the offer!
>
> Thanks,
> John
>
> On Sun, Apr 19, 2020, at 19:58, Liam Clarke wrote:
> > Hi Matthias,
> >
> > I think as an interim measure, if the windowing samples in the docs
> showed
> > an additional example where the grace period was set (with perhaps a
> > comment about the current default grace period, and planned future
> > changes?) it would make it sufficiently visible - happy to submit a PR
> with
> > those changes if it seems appropriate.
> >
> > Cheers,
> >
> > Liam Clarke-Hutchinson
> >
> > On Mon, Apr 20, 2020 at 12:12 PM Matthias J. Sax <mj...@apache.org>
> wrote:
> >
> > > I would prefer to not make the grace-period a mandatory argument and
> > > keep the API as-is. I understand the issue of backward compatibility,
> > > but I would still argue that we should just change the default grace
> > > period to 0 in the 3.0 release. It's a major release and thus it seems
> > > to be fine. To prepare for this change, we could start to log a WARN
> > > message, if a user does not set the grace period explicitly for now.
> > >
> > > Just my 2 ct. Thoughts?
> > >
> > > -Matthias
> > >
> > > On 4/19/20 7:40 AM, John Roesler wrote:
> > > > Oh, man, that’s a good idea.
> > > >
> > > > I can propose to deprecate (not remove) the existing ‘of’ factory
> method
> > > and add one with a mandatory grace period. Not sure why I didn’t think
> of
> > > that before. Probably too caught up in looking for something “smart”.
> > > >
> > > > Thanks!
> > > > John
> > > >
> > > > On Sun, Apr 19, 2020, at 02:27, Liam Clarke wrote:
> > > >> Hi John,
> > > >>
> > > >> I can't really think of a way to make it more obvious without
> breaking
> > > >> backwards compatibility - e.g., obvious easy fix is that grace
> period
> > > is a
> > > >> mandatory arg to TimeWindows, but that would definitely break
> > > compatibility.
> > > >>
> > > >> Cheers,
> > > >>
> > > >> Liam Clarke-Hutchinson
> > > >>
> > > >> On Thu, Apr 16, 2020 at 1:59 AM John Roesler <vvcep...@apache.org>
> > > wrote:
> > > >>
> > > >>> Boom, you got it, Liam! Nice debugging work.
> > > >>>
> > > >>> This is a pretty big bummer, but I had to do it that way for
> > > >>> compatibility. I added a log message to try and help reduce the
> risk,
> > > but
> > > >>> it’s still kind of a trap.
> > > >>>
> > > >>> I’d like to do a KIP at some point to consider changing the default
> > > grace
> > > >>> period, but haven’t done it because it’s not clear what the default
> > > should
> > > >>> be.
> > > >>>
> > > >>> Please let me know if you have any ideas!
> > > >>> Thanks,
> > > >>> -John
> > > >>>
> > > >>>
> > > >>> On Tue, Apr 14, 2020, at 23:44, Liam Clarke wrote:
> > > >>>> And the answer is to change
> > > >>>> .windowedBy(TimeWindows.of(Duration.ofMillis(5000)))
> > > >>>> and specify the grace period:
> > > >>>>
> > > >>>>
> > > >>>
> > >
> windowedBy(TimeWindows.of(Duration.ofMillis(5000)).grace(Duration.ofMillis(100)))
> > > >>>>
> > > >>>> On Wed, Apr 15, 2020 at 4:34 PM Liam Clarke <
> > > liam.cla...@adscale.co.nz>
> > > >>>> wrote:
> > > >>>>
> > > >>>>> Okay, doing some debugging it looks like I'm seeing this
> behaviour
> > > >>> because
> > > >>>>> it's picking up a grace duration of 86,395,000 ms in
> > > >>>>> KTableImpl.buildSuppress, which would happen to be  5000 millis
> (my
> > > >>> window
> > > >>>>> size) off 24 hours, so I've got some clues!
> > > >>>>>
> > > >>>>> On Wed, Apr 15, 2020 at 3:43 PM Liam Clarke <
> > > liam.cla...@adscale.co.nz
> > > >>>>
> > > >>>>> wrote:
> > > >>>>>
> > > >>>>>> Hi all,
> > > >>>>>>
> > > >>>>>> I have a case where I want to consume from a topic, count the
> number
> > > >>> of
> > > >>>>>> certain ids in a given time period X, and emit a new record to a
> > > >>> different
> > > >>>>>> topic after that same time period X has elapsed containing the
> > > >>> aggregated
> > > >>>>>> value.
> > > >>>>>>
> > > >>>>>> I'm using suppress with Suppressed.untilWindowCloses, but
> nothing is
> > > >>> ever
> > > >>>>>> emitted, nor is my peek placed after the suppress ever being
> hit.
> > > >>>>>> My code is in the below Gist - I've hardcoded the durations for
> 5
> > > >>> seconds
> > > >>>>>> after testing purposes:
> > > >>>>>>
> > > https://gist.github.com/LiamClarkeNZ/24121ccf0f09e4530749cbd92633fa46
> > > >>>>>>
> > > >>>>>> I'm assuming I've misunderstood something drastically, and would
> > > >>> greatly
> > > >>>>>> appreciate a pointer on where I may have gone wrong. I'm
> wondering
> > > if
> > > >>> I
> > > >>>>>> need a larger retention on the persistent store?
> > > >>>>>>
> > > >>>>>> I understand that events have to arrive in order for windows to
> > > >>> close, so
> > > >>>>>> I've sent events after the window has expired to attempt to
> move the
> > > >>> window
> > > >>>>>> on, and my first peek (before the suppression) is emitting as I
> do:
> > > >>>>>>
> > > >>>>>> 1. 2020-04-15T03:36:48.569Z
> e2442bef-72bf-4424-b94e-7e4743e03c5e - 1
> > > >>>>>> 1. 2020-04-15T03:37:11.682Z
> e2442bef-72bf-4424-b94e-7e4743e03c5e - 1
> > > >>>>>> 1. 2020-04-15T03:39:18.882Z aqgzftnvyn - 1
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>  Any guidance greatfully appreciated.
> > > >>>>>>
> > > >>>>>> Kind regards,
> > > >>>>>>
> > > >>>>>> Liam Clarke
> > > >>>>>>
> > > >>>>>
> > > >>>>
> > > >>>
> > > >>
> > >
> > >
> >
>

Reply via email to