Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-18 Thread Marco Aurélio Lotz
Hi Matthias, Originally I had written a really long answer against deprecations of the method. When I finished writing, I realised that I actually agree with all your points. As you said, if a user is worried about how a table store is persisted, she will almost always also be worried about

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-14 Thread Matthias J. Sax
If you argue this way, would the consequence not be that we would need to add even more overloads that allow to only use Materialized for the subscription store? -> I only want to switch to in-memory for the subscription store: Why do I need to set Materialized for the main store? Btw: the above

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-14 Thread Marco Aurélio Lotz
Hi Matthias, Thanks for reviewing it. That's a nice question. I can provide you the answer as a user of the API - but of course it very much depends on what the original intention towards the user is. The only reason I found out it was opinionated was when my tests using in-memory materialization

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-14 Thread Matthias J. Sax
I just re-read the KIP, and I am wondering why we would *only add* new methods. Is it an expected use case to only change the main stores but not the subscription stores? Wondering if we should deprecate the existing methods that only accept a single `Materialized` parameter? -Matthias On

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-09 Thread Marco Aurélio Lotz
Hi everyone, I am fine with sticking with Materialized and adding the info to the javadoc then - so we keep the footprint smaller. I will then update the KIP to match what we discussed here and send it for a vote next week. I will raise a new bug-fix ticket and change KAFKA-10383

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-06 Thread Matthias J. Sax
Just catching up here. I agree that we have two issue, and the first (align subscription store to main store) can be done as a bug-fix. For the KIP (that addressed the second), I tend to agree that reusing `Materialized` might be better as it would keep the API surface area smaller. -Matthias

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-06 Thread John Roesler
Hi Marco, Just a quick clarification: I just reviewed the Materialized class. It looks like the only undesirable members are: 1. Retention 2. Key/Value serdes The underlying store type would be “KeyValueStore” , for which case the withRetention javadoc already says it’s ignored. Perhaps we

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-06 Thread Marco Aurélio Lotz
Hi John / Guozhang, If I correctly understood John's message, he agrees on having the two scenarios (piggy-back and api extension). In my view, these two scenarios are separate tasks - the first one is a bug-fix and the second is an improvement on the current API. - bug-fix: On the current API,

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-05 Thread Guozhang Wang
Thanks Marco / John, I think the arguments for not piggy-backing on the existing Materialized makes sense; on the other hand, if we go this route should we just use a separate Materialized than using an extended / narrowed-scoped MaterializedSubscription since it seems we want to allow users to

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-04-01 Thread John Roesler
Thanks Marco, Sorry if I caused any trouble! I don’t remember what I was thinking before, but reasoning about it now, you might need the fine-grained choice if: 1. The number or size of records in each partition of both tables is small(ish), but the cardinality of the join is very high. Then

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-03-29 Thread Marco Aurélio Lotz
Hi Guozhang, Apologies for the late answer. Originally that was my proposal - to piggyback on the provided materialisation method ( https://issues.apache.org/jira/browse/KAFKA-10383). John Roesler suggested to us to provide even further fine tuning on API level parameters. Maybe we could see this

Re: [DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-03-04 Thread Guozhang Wang
Thanks Marco, Just a quick thought: what if we reuse the existing Materialized object for both subscription and join stores, instead of introducing a new param / class? Guozhang On Tue, Mar 2, 2021 at 1:07 AM Marco Aurélio Lotz wrote: > Hi folks, > > I would like to invite everyone to discuss

[DISCUSS] KIP-718: Make KTable Join on Foreign key unopinionated

2021-03-02 Thread Marco Aurélio Lotz
Hi folks, I would like to invite everyone to discuss further KIP-718: https://cwiki.apache.org/confluence/display/KAFKA/KIP-718%3A+Make+KTable+Join+on+Foreign+key+unopinionated I welcome all feedback on it. Kind Regards, Marco Lotz