Thanks for looking into it. I also needed to refresh my memory. In Scala, it's sufficient to expose the `static` methods for a native Scala integration. If you look into the code, those static methods return the actually Java objects, and thus all non-static Java methods are available automatically.
As we only add new non-static methods, we don't need to do anything for the Scala API, and the new methods will be available for Scala users automatically. -Matthias On 12/3/20 7:16 AM, Leah Thomas wrote: > Thanks for thinking of that Matthias. After looking at what we currently > have for `StreamJoined` in scala, we just have bare bones functionality, > allowing users to use `StreamJoined` through the two `with()` functions and > one `as()` function. This is the same for `Materialized` in scala, which > does not include implementation for `withLoggingEnabled()` etc. Neither of > these scala versions include `withKeySerde()` or `withValueSerde()`. > > I'm not sure if we consciously made the decision to not implement > additional configs for `Materialized` and `StreamJoined` in Scala, but I > don't think it makes a lot of sense to add functionality for > `withLoggingEnabled()` and `withLoggingDisabled()` if the same cannot be > said for Materialized or the other configs we allow in the Java API. My > thought is to leave it out of this KIP and, if we so choose, create a > follow-up ticket to implement all the additional functionality at once for > the Scala API. WDYT? > > On Wed, Dec 2, 2020 at 5:40 PM Matthias J. Sax <mj...@apache.org> wrote: > >> One more follow up: do we need to update the Scala API, too? >> >> >> -Matthias >> >> On 12/2/20 7:51 AM, Leah Thomas wrote: >>> Thanks for the feedback! I'll go ahead and move it to vote now. >>> >>> Best, >>> Leah >>> >>> On Wed, Dec 2, 2020 at 6:58 AM Bruno Cadonna <br...@confluent.io> wrote: >>> >>>> Thanks for the KIP! >>>> >>>> LGTM, as well! >>>> >>>> Best, >>>> Bruno >>>> >>>> On 02.12.20 00:41, Walker Carlson wrote: >>>>> Thanks for making these changes. It makes more sense now to me. Overall >>>> LGTM >>>>> >>>>> walker >>>>> >>>>> On Tue, Dec 1, 2020 at 3:39 PM Sophie Blee-Goldman < >> sop...@confluent.io> >>>>> wrote: >>>>> >>>>>> Thanks for the KIP! I'm happy with the state of things after your >> latest >>>>>> update, >>>>>> LGTM >>>>>> >>>>>> Sophie >>>>>> >>>>>> On Tue, Dec 1, 2020 at 2:26 PM Leah Thomas <ltho...@confluent.io> >>>> wrote: >>>>>> >>>>>>> Hi Matthias, >>>>>>> >>>>>>> Yeah I think it should, good catch. That should also answer Walker's >>>>>>> question about why we have an option for `withLoggingEnabled()` even >>>>>> though >>>>>>> that's the default. Passing in a new map of configs could allow the >>>> user >>>>>> to >>>>>>> configure the log differently than the default. I've updated the KIP >> to >>>>>>> reflected the added parameter and an added variable, `topicConfig` to >>>>>> store >>>>>>> the map of configs. >>>>>>> >>>>>>> Best, >>>>>>> Leah >>>>>>> >>>>>>> On Mon, Nov 30, 2020 at 5:35 PM Matthias J. Sax <mj...@apache.org> >>>>>> wrote: >>>>>>> >>>>>>>> Thanks for the KIP Leah. >>>>>>>> >>>>>>>> Should `withLoggingEnabled()` take a `Map<String, String> config` >>>>>>>> similar to the one from `Materialized`? >>>>>>>> >>>>>>>> >>>>>>>> -Matthias >>>>>>>> >>>>>>>> On 11/30/20 12:22 PM, Walker Carlson wrote: >>>>>>>>> Ah. That makes sense. Thank you for fixing that. >>>>>>>>> >>>>>>>>> One minor question. If the default is enabled is there any case >>>>>> where a >>>>>>>>> user would turn logging off then back on again? I can see having >> the >>>>>>>>> enableLoging for completeness so it's not that important probably. >>>>>>>>> >>>>>>>>> Anyways other than that it looks good! >>>>>>>>> >>>>>>>>> Walker >>>>>>>>> >>>>>>>>> On Mon, Nov 30, 2020 at 12:06 PM Leah Thomas <ltho...@confluent.io >>> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hey Walker, >>>>>>>>>> >>>>>>>>>> Thanks for your response. >>>>>>>>>> >>>>>>>>>> 1. Ah yeah thanks for the catch, that was held over from >> copy/paste. >>>>>>>> Both >>>>>>>>>> functions should take no parameters, as they just `loggingEnabled` >>>>>> to >>>>>>>> true >>>>>>>>>> or false. I've removed the `WindowBytesStoreSupplier >>>>>>> otherStoreSupplier` >>>>>>>>>> from the methods in the KIP >>>>>>>>>> 2. I think the fix to 1 answers this question, otherwise, I'm not >>>>>>> quite >>>>>>>>>> sure what you're asking. With the updated method calls, there >>>>>>> shouldn't >>>>>>>> be >>>>>>>>>> any duplication. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> Leah >>>>>>>>>> >>>>>>>>>> On Mon, Nov 30, 2020 at 12:14 PM Walker Carlson < >>>>>>> wcarl...@confluent.io> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hello Leah, >>>>>>>>>>> >>>>>>>>>>> Thank you for the KIP. >>>>>>>>>>> >>>>>>>>>>> I had a couple questions that maybe you can expand on from what >> is >>>>>> on >>>>>>>> the >>>>>>>>>>> KIP. >>>>>>>>>>> >>>>>>>>>>> 1) Why are we enabling/disabling the logging by passing in a >>>>>>>>>>> `WindowBytesStoreSupplier`? >>>>>>>>>>> It seems to me that these two things should be separate. >>>>>>>>>>> >>>>>>>>>>> 2) There is already `withThisStoreSupplier(final >>>>>>>> WindowBytesStoreSupplier >>>>>>>>>>> otherStoreSupplier)` and `withOtherStoreSupplier(final >>>>>>>>>>> WindowBytesStoreSupplier otherStoreSupplier)`. Why do we need to >>>>>>>>>> duplicate >>>>>>>>>>> them when the `retentionPeriod` can be set through them? >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Walker >>>>>>>>>>> >>>>>>>>>>> On Mon, Nov 30, 2020 at 8:53 AM Leah Thomas < >> ltho...@confluent.io> >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> After reading through >>>>>>>> https://issues.apache.org/jira/browse/KAFKA-9921 >>>>>>>>>> I >>>>>>>>>>>> removed the option to enable/disable caching for `StreamJoined`, >>>>>> as >>>>>>>>>>> caching >>>>>>>>>>>> will always be disabled because we retain duplicates. >>>>>>>>>>>> >>>>>>>>>>>> I updated the KIP accordingly, it now adds only `enableLogging` >>>>>> as a >>>>>>>>>>>> config. >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Nov 30, 2020 at 9:54 AM Leah Thomas < >> ltho...@confluent.io >>>>>>> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi all, >>>>>>>>>>>>> >>>>>>>>>>>>> I'd like to kick-off the discussion for KIP-689: Extend >>>>>>>>>> `StreamJoined` >>>>>>>>>>> to >>>>>>>>>>>>> allow more store configs. This builds off the work of KIP-479 >>>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>> >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-479%3A+Add+StreamJoined+config+object+to+Join >>>>>>>>>>>> >>>>>>>>>>>> to >>>>>>>>>>>>> add options to enable/disable both logging and caching for >> stream >>>>>>>>>> join >>>>>>>>>>>>> stores. >>>>>>>>>>>>> >>>>>>>>>>>>> KIP is here: >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>> >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-689%3A+Extend+%60StreamJoined%60+to+allow+more+store+configs >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Looking forward to hearing your thoughts, >>>>>>>>>>>>> Leah >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >