Thanks for the update Michal. I did skip over the PR. Looks good to me, as far as I can tell. Maybe Damian, Xavier, or Ismael can comment on this. Would be good to get confirmation that the change is backward compatible.
-Matthias On 5/27/17 11:11 AM, Michal Borowiecki wrote: > Hi all, > > I've updated the KIP to reflect the proposed backwards-compatible approach: > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69408481 > > > Given the vast area of APIs affected, I think the PR is easier to read > than the code excerpts in the KIP itself: > https://github.com/apache/kafka/pull/2992/files > > Thanks, > Michał > > On 07/05/17 10:16, Eno Thereska wrote: >> I like this KIP in general and I agree it’s needed. Perhaps Damian can >> comment on the session store issue? >> >> Thanks >> Eno >>> On May 6, 2017, at 10:32 PM, Michal Borowiecki >>> <michal.borowie...@openbet.com> wrote: >>> >>> Hi Matthias, >>> >>> Agreed. I tried your proposal and indeed it would work. >>> >>> However, I think to maintain full backward compatibility we would also need >>> to deprecate Stores.create() and leave it unchanged, while providing a new >>> method that returns the more strongly typed Factories. >>> >>> ( This is because PersistentWindowFactory and PersistentSessionFactory >>> cannot extend the existing PersistentKeyValueFactory interface, since their >>> build() methods will be returning TypedStateStoreSupplier<WindowStore<K, >>> V>> and TypedStateStoreSupplier<SessionStore<K, V>> respectively, which are >>> NOT subclasses of TypedStateStoreSupplier<KeyValueStore<K, V>>. I do not >>> see another way around it. Admittedly, my type covariance skills are >>> rudimentary. Does anyone see a better way around this? ) >>> >>> Since create() takes only the store name as argument, and I don't see what >>> we could overload it with, the new method would need to have a different >>> name. >>> >>> Alternatively, since create(String) is the only method in Stores, we could >>> deprecate the entire class and provide a new one. That would be my >>> preference. Any ideas what to call it? >>> >>> >>> >>> All comments and suggestions appreciated. >>> >>> >>> >>> Cheers, >>> >>> Michał >>> >>> >>> On 04/05/17 21:48, Matthias J. Sax wrote: >>>> I had a quick look into this. >>>> >>>> With regard to backward compatibility, I think it would be required do >>>> introduce a new type `TypesStateStoreSupplier` (that extends >>>> `StateStoreSupplier`) and to overload all methods that take a >>>> `StateStoreSupplier` that accept the new type instead of the current one. >>>> >>>> This would allow `.build` to return a `TypedStateStoreSupplier` and >>>> thus, would not break any code. As least if I did not miss anything with >>>> regard to some magic of type inference using generics (I am not an >>>> expert in this field). >>>> >>>> >>>> -Matthias >>>> >>>> On 5/4/17 11:32 AM, Matthias J. Sax wrote: >>>>> Did not have time to have a look. But backward compatibility is a must >>>>> from my point of view. >>>>> >>>>> -Matthias >>>>> >>>>> >>>>> On 5/4/17 12:56 AM, Michal Borowiecki wrote: >>>>>> Hello, >>>>>> >>>>>> I've updated the KIP with missing information. >>>>>> >>>>>> I would especially appreciate some comments on the compatibility aspects >>>>>> of this as the proposed change is not fully backwards-compatible. >>>>>> >>>>>> In the absence of comments I shall call for a vote in the next few days. >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Michal >>>>>> >>>>>> >>>>>> On 30/04/17 23:11, Michal Borowiecki wrote: >>>>>>> Hi community! >>>>>>> >>>>>>> I have just drafted KIP-147: Add missing type parameters to >>>>>>> StateStoreSupplier factories and KGroupedStream/Table methods >>>>>>> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69408481> >>>>>>> >>>>>>> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69408481> >>>>>>> >>>>>>> Please let me know if this a step in the right direction. >>>>>>> >>>>>>> All comments welcome. >>>>>>> >>>>>>> Thanks, >>>>>>> Michal >>>>>>> -- >>>>>>> Signature >>>>>>> <http://www.openbet.com/> <http://www.openbet.com/> Michal >>>>>>> Borowiecki >>>>>>> Senior Software Engineer L4 >>>>>>> T: +44 208 742 1600 >>>>>>> >>>>>>> >>>>>>> +44 203 249 8448 >>>>>>> >>>>>>> >>>>>>> >>>>>>> E: michal.borowie...@openbet.com >>>>>>> <mailto:michal.borowie...@openbet.com> >>>>>>> W: www.openbet.com <http://www.openbet.com/> >>>>>>> <http://www.openbet.com/> <http://www.openbet.com/> >>>>>>> >>>>>>> >>>>>>> OpenBet Ltd >>>>>>> >>>>>>> Chiswick Park Building 9 >>>>>>> >>>>>>> 566 Chiswick High Rd >>>>>>> >>>>>>> London >>>>>>> >>>>>>> W4 5XT >>>>>>> >>>>>>> UK >>>>>>> >>>>>>> >>>>>>> <https://www.openbet.com/email_promo> >>>>>>> <https://www.openbet.com/email_promo> >>>>>>> >>>>>>> This message is confidential and intended only for the addressee. If >>>>>>> you have received this message in error, please immediately notify the >>>>>>> postmas...@openbet.com <mailto:postmas...@openbet.com> >>>>>>> <mailto:postmas...@openbet.com> <mailto:postmas...@openbet.com> and >>>>>>> delete it >>>>>>> from your system as well as any copies. The content of e-mails as well >>>>>>> as traffic data may be monitored by OpenBet for employment and >>>>>>> security purposes. To protect the environment please do not print this >>>>>>> e-mail unless necessary. OpenBet Ltd. Registered Office: Chiswick Park >>>>>>> Building 9, 566 Chiswick High Road, London, W4 5XT, United Kingdom. A >>>>>>> company registered in England and Wales. Registered no. 3134634. VAT >>>>>>> no. GB927523612 >>>>>>> >>>>>> -- >>>>>> Signature >>>>>> <http://www.openbet.com/> <http://www.openbet.com/> Michal >>>>>> Borowiecki >>>>>> Senior Software Engineer L4 >>>>>> T: +44 208 742 1600 >>>>>> >>>>>> >>>>>> +44 203 249 8448 >>>>>> >>>>>> >>>>>> >>>>>> E: michal.borowie...@openbet.com >>>>>> <mailto:michal.borowie...@openbet.com> >>>>>> W: www.openbet.com <http://www.openbet.com/> >>>>>> <http://www.openbet.com/> <http://www.openbet.com/> >>>>>> >>>>>> >>>>>> OpenBet Ltd >>>>>> >>>>>> Chiswick Park Building 9 >>>>>> >>>>>> 566 Chiswick High Rd >>>>>> >>>>>> London >>>>>> >>>>>> W4 5XT >>>>>> >>>>>> UK >>>>>> >>>>>> >>>>>> <https://www.openbet.com/email_promo> >>>>>> <https://www.openbet.com/email_promo> >>>>>> >>>>>> This message is confidential and intended only for the addressee. If you >>>>>> have received this message in error, please immediately notify the >>>>>> postmas...@openbet.com <mailto:postmas...@openbet.com> >>>>>> <mailto:postmas...@openbet.com> <mailto:postmas...@openbet.com> and >>>>>> delete it >>>>>> from your system as well as any copies. The content of e-mails as well >>>>>> as traffic data may be monitored by OpenBet for employment and security >>>>>> purposes. To protect the environment please do not print this e-mail >>>>>> unless necessary. OpenBet Ltd. Registered Office: Chiswick Park Building >>>>>> 9, 566 Chiswick High Road, London, W4 5XT, United Kingdom. A company >>>>>> registered in England and Wales. Registered no. 3134634. VAT no. >>>>>> GB927523612 >>>>>> >>> -- >>> <obet_logo_tiny.gif> <http://www.openbet.com/> Michal Borowiecki >>> Senior Software Engineer L4 >>> <halfcircle_tiny.gif> T: +44 208 742 1600 >>> >>> >>> +44 203 249 8448 >>> >>> >>> >>> <halfcircle_tiny.gif> E: michal.borowie...@openbet.com >>> <mailto:michal.borowie...@openbet.com> >>> <halfcircle_tiny.gif> W: www.openbet.com >>> <http://www.openbet.com/> >>> <halfcircle_tiny.gif> OpenBet Ltd >>> >>> Chiswick Park Building 9 >>> >>> 566 Chiswick High Rd >>> >>> London >>> >>> W4 5XT >>> >>> UK >>> >>> <sig_promo_img.gif> <https://www.openbet.com/email_promo> >>> This message is confidential and intended only for the addressee. If you >>> have received this message in error, please immediately notify the >>> postmas...@openbet.com <mailto:postmas...@openbet.com> and delete it from >>> your system as well as any copies. The content of e-mails as well as >>> traffic data may be monitored by OpenBet for employment and security >>> purposes. To protect the environment please do not print this e-mail unless >>> necessary. OpenBet Ltd. Registered Office: Chiswick Park Building 9, 566 >>> Chiswick High Road, London, W4 5XT, United Kingdom. A company registered in >>> England and Wales. Registered no. 3134634. VAT no. GB927523612 >> > > -- > Signature > <http://www.openbet.com/> Michal Borowiecki > Senior Software Engineer L4 > T: +44 208 742 1600 > > > +44 203 249 8448 > > > > E: michal.borowie...@openbet.com > W: www.openbet.com <http://www.openbet.com/> > > > OpenBet Ltd > > Chiswick Park Building 9 > > 566 Chiswick High Rd > > London > > W4 5XT > > UK > > > <https://www.openbet.com/email_promo> > > This message is confidential and intended only for the addressee. If you > have received this message in error, please immediately notify the > postmas...@openbet.com <mailto:postmas...@openbet.com> and delete it > from your system as well as any copies. The content of e-mails as well > as traffic data may be monitored by OpenBet for employment and security > purposes. To protect the environment please do not print this e-mail > unless necessary. OpenBet Ltd. Registered Office: Chiswick Park Building > 9, 566 Chiswick High Road, London, W4 5XT, United Kingdom. A company > registered in England and Wales. Registered no. 3134634. VAT no. > GB927523612 >
signature.asc
Description: OpenPGP digital signature