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