NP. Thanks! On 6/26/18 2:54 PM, John Roesler wrote: > Sorry for the misunderstanding, Matthias. > > I have created https://issues.apache.org/jira/browse/KAFKA-7106 and > https://issues.apache.org/jira/browse/KAFKA-7107 to track these issues. > > Thanks, > -John > > On Mon, Jun 25, 2018 at 10:06 PM Matthias J. Sax <matth...@confluent.io> > wrote: > >> KAFKA-7080 is for this KIP. >> >> I meant to create a JIRA to add `segmentInterval` to `Materialized` and >> a JIRA to add `Materialized` to `KStream#join(KStream)`. >> >> Thx. >> >> >> -Matthias >> >> On 6/25/18 2:46 PM, John Roesler wrote: >>> Ah, it turns out I did create a ticket: it's KAFKA-7080: >>> https://issues.apache.org/jira/browse/KAFKA-7080 >>> >>> -John >>> >>> On Mon, Jun 25, 2018 at 4:44 PM John Roesler <j...@confluent.io> wrote: >>> >>>> Matthias, >>>> >>>> That's a good idea. I'm not sure why I didn't... >>>> >>>> Thanks, >>>> -John >>>> >>>> On Mon, Jun 25, 2018 at 4:35 PM Matthias J. Sax <matth...@confluent.io> >>>> wrote: >>>> >>>>> Ok. >>>>> >>>>> @John: can you create a JIRA to track this? I think KAFKA-4730 is >>>>> related, but actually an own ticket (that is blocked by not having >>>>> Materialized for stream-stream joins). >>>>> >>>>> >>>>> -Matthias >>>>> >>>>> On 6/25/18 2:10 PM, Bill Bejeck wrote: >>>>>> I agree that it makes sense to have segmentInterval as a parameter to >> a >>>>>> store, but I also agree with Guozhang's point about not moving as part >>>>> of >>>>>> this KIP. >>>>>> >>>>>> Thanks, >>>>>> Bill >>>>>> >>>>>> On Mon, Jun 25, 2018 at 4:17 PM John Roesler <j...@confluent.io> >> wrote: >>>>>> >>>>>>> Thanks Matthias and Guozhang, >>>>>>> >>>>>>> About deprecating the "segments" field instead of making it private. >>>>> Yes, I >>>>>>> just took another look at the code, and that is correct. I'll update >>>>> the >>>>>>> KIP. >>>>>>> >>>>>>> I do agree that in the long run, it makes more sense as a parameter >> to >>>>> the >>>>>>> store somehow than as a parameter to the window. I think this isn't a >>>>> super >>>>>>> high priority, though, because it's not exposed in the DSL (or it >>>>> wasn't >>>>>>> intended to be). >>>>>>> >>>>>>> I felt Guozhang's point is valid, and that we should probably revisit >>>>> it >>>>>>> later, possibly in the scope of >>>>>>> https://issues.apache.org/jira/browse/KAFKA-4730 >>>>>>> >>>>>>> I'll wait an hour or so for more feedback before moving on to a vote. >>>>>>> >>>>>>> Thanks again, >>>>>>> -John >>>>>>> >>>>>>> On Mon, Jun 25, 2018 at 12:20 PM Guozhang Wang <wangg...@gmail.com> >>>>> wrote: >>>>>>> >>>>>>>> Re `segmentInterval` parameter in Windows: currently it is used in >> two >>>>>>>> places, the windowed stream aggregation, and the stream-stream >> joins. >>>>> For >>>>>>>> the former, we can potentially move the parameter from windowedBy() >> to >>>>>>>> Materialized, but for the latter we currently do not expose a >>>>>>> Materialized >>>>>>>> object yet, only the Windows spec. So I think in this KIP we >> probably >>>>>>>> cannot move it immediately. >>>>>>>> >>>>>>>> But in future KIPs if we decide to expose the stream-stream join's >>>>> store >>>>>>> / >>>>>>>> changelog / repartition topic names, we may well adding the >>>>> Materialized >>>>>>>> object into the operator, and we can then move the parameter to >>>>>>>> Materialized by then. >>>>>>>> >>>>>>>> >>>>>>>> Guozhang >>>>>>>> >>>>>>>> On Sun, Jun 24, 2018 at 5:16 PM, Matthias J. Sax < >>>>> matth...@confluent.io> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Thanks for the KIP. Overall, I think it makes sense to clean up the >>>>>>> API. >>>>>>>>> >>>>>>>>> Couple of comments: >>>>>>>>> >>>>>>>>>> Sadly there's no way to "deprecate" this >>>>>>>>>> exposure >>>>>>>>> >>>>>>>>> I disagree. We can just mark the variable as deprecated and I >>>>> advocate >>>>>>>>> to do this. When the deprecation period passed, we can make it >>>>> private >>>>>>>>> (or actually remove it; cf. my next comment). >>>>>>>>> >>>>>>>>> >>>>>>>>> Parameter, `segmentInterval` is semantically not a "window" >>>>>>>>> specification parameter but an implementation detail and thus a >> store >>>>>>>>> parameter. Would it be better to add it to `Materialized`? >>>>>>>>> >>>>>>>>> >>>>>>>>> -Matthias >>>>>>>>> >>>>>>>>> On 6/22/18 5:13 PM, Guozhang Wang wrote: >>>>>>>>>> Thanks John. >>>>>>>>>> >>>>>>>>>> On Fri, Jun 22, 2018 at 5:05 PM, John Roesler <j...@confluent.io> >>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Thanks for the feedback, Bill and Guozhang, >>>>>>>>>>> >>>>>>>>>>> I've updated the KIP accordingly. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> -John >>>>>>>>>>> >>>>>>>>>>> On Fri, Jun 22, 2018 at 5:51 PM Guozhang Wang < >> wangg...@gmail.com> >>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Thanks for the KIP. I'm +1 on the proposal. One minor comment on >>>>>>> the >>>>>>>>>>> wiki: >>>>>>>>>>>> the `In Windows, we will:` section code snippet is empty. >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jun 22, 2018 at 3:29 PM, Bill Bejeck <bbej...@gmail.com >>> >>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi John, >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks for the KIP, and overall it's a +1 for me. >>>>>>>>>>>>> >>>>>>>>>>>>> In the JavaDoc for the segmentInterval method, there's no >> mention >>>>>>> of >>>>>>>>>>> the >>>>>>>>>>>>> number of segments there can be at any one time. While it's >>>>>>> implied >>>>>>>>>>> that >>>>>>>>>>>>> the number of segments is potentially unbounded, would be >> better >>>>>>> to >>>>>>>>>>>>> explicitly state that the previous limit on the number of >>>>> segments >>>>>>>> is >>>>>>>>>>>> going >>>>>>>>>>>>> to be removed as well? >>>>>>>>>>>>> >>>>>>>>>>>>> I have a couple of nit comments. The method name is still >>>>>>>>> segmentSize >>>>>>>>>>>> in >>>>>>>>>>>>> the code block vs segmentInterval and the order of the >> parameters >>>>>>>> for >>>>>>>>>>> the >>>>>>>>>>>>> third persistentWindowStore don't match the order in the >> JavaDoc. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Bill >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Jun 21, 2018 at 3:32 PM John Roesler < >> j...@confluent.io> >>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> I've updated the KIP and draft PR accordingly. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Jun 21, 2018 at 2:03 PM John Roesler < >> j...@confluent.io >>>>>> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Interesting... I did not initially consider it because I >> didn't >>>>>>>>>>> want >>>>>>>>>>>> to >>>>>>>>>>>>>>> have an impact on anyone's Streams apps, but now I see that >>>>>>> unless >>>>>>>>>>>>>>> developers have subclassed `Windows`, the number of segments >>>>>>> would >>>>>>>>>>>>> always >>>>>>>>>>>>>>> be 3! >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> There's one caveat to this, which I think was a mistake. The >>>>>>> field >>>>>>>>>>>>>>> `segments` in Windows is public, which means that anyone can >>>>>>>>>>> actually >>>>>>>>>>>>> set >>>>>>>>>>>>>>> it directly on any Window instance like: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> TimeWindows tw = TimeWindows.of(100); >>>>>>>>>>>>>>> tw.segments = 12345; >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Bypassing the bounds check and contradicting the javadoc in >>>>>>>> Windows >>>>>>>>>>>>> that >>>>>>>>>>>>>>> says users can't directly set it. Sadly there's no way to >>>>>>>>>>> "deprecate" >>>>>>>>>>>>>> this >>>>>>>>>>>>>>> exposure, so I propose just to make it private. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> With this new knowledge, I agree, I think we can switch to >>>>>>>>>>>>>>> "segmentInterval" throughout the interface. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Jun 20, 2018 at 5:06 PM Guozhang Wang < >>>>>>> wangg...@gmail.com >>>>>>>>> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hello John, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks for the KIP. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Should we consider making the change on >>>>>>>>>>>> `Stores#persistentWindowStore` >>>>>>>>>>>>>>>> parameters as well? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Guozhang >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Wed, Jun 20, 2018 at 1:31 PM, John Roesler < >>>>>>> j...@confluent.io >>>>>>>>> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Ted, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Ah, when you made that comment to me before, I thought you >>>>>>> meant >>>>>>>>>>>> as >>>>>>>>>>>>>>>> opposed >>>>>>>>>>>>>>>>> to "segments". Now it makes sense that you meant as opposed >>>>> to >>>>>>>>>>>>>>>>> "segmentSize". >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I named it that way to match the peer method "windowSize", >>>>>>> which >>>>>>>>>>>> is >>>>>>>>>>>>>>>> also a >>>>>>>>>>>>>>>>> quantity of milliseconds. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I agree that "interval" is more intuitive, but I think I >>>>> favor >>>>>>>>>>>>>>>> consistency >>>>>>>>>>>>>>>>> in this case. Does that seem reasonable? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>> -John >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Jun 20, 2018 at 1:06 PM Ted Yu < >> yuzhih...@gmail.com> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Normally size is not measured in time unit, such as >>>>>>>>>>>> milliseconds. >>>>>>>>>>>>>>>>>> How about naming the new method segmentInterval ? >>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>> -------- Original message --------From: John Roesler < >>>>>>>>>>>>>>>> j...@confluent.io> >>>>>>>>>>>>>>>>>> Date: 6/20/18 10:45 AM (GMT-08:00) To: >>>>>>> dev@kafka.apache.org >>>>>>>>>>>>>>>> Subject: >>>>>>>>>>>>>>>>>> [DISCUSS] KIP-319: Replace segments with segmentSize in >>>>>>>>>>>>>>>>>> WindowBytesStoreSupplier >>>>>>>>>>>>>>>>>> Hello All, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I'd like to propose KIP-319 to fix an issue I identified >> in >>>>>>>>>>>>>>>> KAFKA-7080. >>>>>>>>>>>>>>>>>> Specifically, we're creating CachingWindowStore with the >>>>>>>>>>> *number >>>>>>>>>>>>> of >>>>>>>>>>>>>>>>>> segments* instead of the *segment size*. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Here's the jira: >>>>>>>>>>>> https://issues.apache.org/jira/browse/KAFKA-7080 >>>>>>>>>>>>>>>>>> Here's the KIP: >>>>> https://cwiki.apache.org/confluence/x/mQU0BQ >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> additionally, here's a draft PR for clarity: >>>>>>>>>>>>>>>>>> https://github.com/apache/kafka/pull/5257 >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Please let me know what you think! >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>> -John >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> -- Guozhang >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> -- Guozhang >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> -- Guozhang >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>> >> >> >
signature.asc
Description: OpenPGP digital signature