You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Matthias J. Sax" <ma...@confluent.io> on 2017/06/02 06:18:09 UTC

Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

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 <mi...@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.borowiecki@openbet.com <ma...@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
>>>>>>> postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com> <ma...@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.borowiecki@openbet.com <ma...@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
>>>>>> postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com> <ma...@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.borowiecki@openbet.com <ma...@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 postmaster@openbet.com <ma...@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.borowiecki@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
> postmaster@openbet.com <ma...@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
> 


Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by "Matthias J. Sax" <ma...@confluent.io>.
I updated this KIP as discarded.

On 10/13/17 10:34 AM, Matthias J. Sax wrote:
> Hi,
> 
> with KIP-182 being implemented in 1.0 that will be released shortly, I
> wanted to follow up on this KIP. It seems, that we don't need it any
> longer, as KIP-182 resolves those issues.
> 
> If you agree, please update the KIP wiki page accordingly and move the
> KIP to "discarded" table.
> 
> 
> Thanks a lot!
> 
> 
> -Matthias
> 
> On 6/24/17 9:53 AM, Michal Borowiecki wrote:
>> I think the discussion on Streams DSL refactoring will render this KIP
>> obsolete.
>>
>> I'll leave is as under discussion until something is agreed and then
>> move it to discarded.
>>
>> Cheers,
>>
>> Michał
>>
>>
>> On 03/06/17 10:02, Michal Borowiecki wrote:
>>>
>>> I agree maintaining backwards-compatibility here adds a lot of overhead.
>>>
>>> I haven't so far found a way to reconcile these elegantly.
>>>
>>> Whichever way we go it's better to take the pain sooner rather than
>>> later. Kafka 0.11.0.0 (through KAFKA-5045
>>> <https://issues.apache.org/jira/browse/KAFKA-5045>/KIP-114) increased
>>> the surface affected by the lack of fully type-parametrised suppliers
>>> noticeably.
>>>
>>> Cheers,
>>>
>>> Michał
>>>
>>>
>>> On 03/06/17 09:43, Damian Guy wrote:
>>>> Hmm, i guess this won't work due to adding the additional <K,V> to
>>>> the StateStoreSupplier params on reduce, count, aggregate etc.
>>>>
>>>> On Sat, 3 Jun 2017 at 09:06 Damian Guy <damian.guy@gmail.com
>>>> <ma...@gmail.com>> wrote:
>>>>
>>>>     Hi Michal,
>>>>
>>>>     Thanks for the KIP - is there a way we can do this without having
>>>>     to introduce the new Typed.. Interfaces, overloaded methods etc?
>>>>     Is it possible that we just need to provide a couple of new
>>>>     methods on PersistentKeyValueFactory for windowed and
>>>>     sessionWindowed to return interfaces like you've introduced in
>>>>     TypedStores?
>>>>     I admit i haven't looked in much detail if that would work.
>>>>
>>>>     My concern is that this is duplicating a bunch of code and
>>>>     increasing the surface area for what is minimal benefit. It is
>>>>     one of those cases where i'd love to not have to maintain
>>>>     backward compatibility.
>>>>
>>>>     Thanks,
>>>>     Damian
>>>>
>>>>     On Fri, 2 Jun 2017 at 08:20 Michal Borowiecki
>>>>     <michal.borowiecki@openbet.com
>>>>     <ma...@openbet.com>> wrote:
>>>>
>>>>         Thanks Matthias,
>>>>
>>>>         I appreciate people are busy now preparing the 0.11 release.
>>>>
>>>>         One thing I would also appreciate input on is perhaps a
>>>>         better name for the new TypedStores class, I just picked it
>>>>         quickly but don't really like it.
>>>>
>>>>         Perhaps StateStores would make for a better name?
>>>>
>>>>         Cheers,
>>>>         Michal
>>>>
>>>>
>>>>         On 02/06/17 07:18, Matthias J. Sax wrote:
>>>>>         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 <mi...@openbet.com>
>>>>>>>>         <ma...@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> <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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
>>>>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>>>>
>>>>>>>>>>>>         	
>>>>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>>>>
>>>>>>>>>>>>         	
>>>>>>>>>>>>         	 
>>>>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com> <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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
>>>>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>>         <ma...@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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
>>>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>>>
>>>>>>>>>>>         	
>>>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>>>
>>>>>>>>>>>         	
>>>>>>>>>>>         	 
>>>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com> <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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
>>>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@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/> <http://www.openbet.com/>	Michal Borowiecki
>>>>>>>>         Senior Software Engineer L4
>>>>>>>>         <halfcircle_tiny.gif>	T:	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>
>>>>>>>>
>>>>>>>>         +44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>
>>>>>>>>
>>>>>>>>          
>>>>>>>>         <halfcircle_tiny.gif>	E:	michal.borowiecki@openbet.com
>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>         <ma...@openbet.com>
>>>>>>>>         <halfcircle_tiny.gif>	W:	www.openbet.com <http://www.openbet.com> <http://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>
>>>>>>>>         <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 postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>         <ma...@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 <tel:+44%2020%208742%201600>
>>>>>>
>>>>>>         	
>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>
>>>>>>         	
>>>>>>         	 
>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>         <ma...@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
>>>>>>         postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com> <ma...@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
>>>>>>
>>>>
>>>>         -- 
>>>>         <http://www.openbet.com/> 	Michal Borowiecki
>>>>         Senior Software Engineer L4
>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>
>>>>         	
>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>
>>>>         	
>>>>         	 
>>>>         	E: 	michal.borowiecki@openbet.com
>>>>         <ma...@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 postmaster@openbet.com
>>>>         <ma...@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.borowiecki@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
>>> postmaster@openbet.com <ma...@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.borowiecki@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
>> postmaster@openbet.com <ma...@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
>>
> 


Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by "Matthias J. Sax" <ma...@confluent.io>.
Hi,

with KIP-182 being implemented in 1.0 that will be released shortly, I
wanted to follow up on this KIP. It seems, that we don't need it any
longer, as KIP-182 resolves those issues.

If you agree, please update the KIP wiki page accordingly and move the
KIP to "discarded" table.


Thanks a lot!


-Matthias

On 6/24/17 9:53 AM, Michal Borowiecki wrote:
> I think the discussion on Streams DSL refactoring will render this KIP
> obsolete.
> 
> I'll leave is as under discussion until something is agreed and then
> move it to discarded.
> 
> Cheers,
> 
> Michał
> 
> 
> On 03/06/17 10:02, Michal Borowiecki wrote:
>>
>> I agree maintaining backwards-compatibility here adds a lot of overhead.
>>
>> I haven't so far found a way to reconcile these elegantly.
>>
>> Whichever way we go it's better to take the pain sooner rather than
>> later. Kafka 0.11.0.0 (through KAFKA-5045
>> <https://issues.apache.org/jira/browse/KAFKA-5045>/KIP-114) increased
>> the surface affected by the lack of fully type-parametrised suppliers
>> noticeably.
>>
>> Cheers,
>>
>> Michał
>>
>>
>> On 03/06/17 09:43, Damian Guy wrote:
>>> Hmm, i guess this won't work due to adding the additional <K,V> to
>>> the StateStoreSupplier params on reduce, count, aggregate etc.
>>>
>>> On Sat, 3 Jun 2017 at 09:06 Damian Guy <damian.guy@gmail.com
>>> <ma...@gmail.com>> wrote:
>>>
>>>     Hi Michal,
>>>
>>>     Thanks for the KIP - is there a way we can do this without having
>>>     to introduce the new Typed.. Interfaces, overloaded methods etc?
>>>     Is it possible that we just need to provide a couple of new
>>>     methods on PersistentKeyValueFactory for windowed and
>>>     sessionWindowed to return interfaces like you've introduced in
>>>     TypedStores?
>>>     I admit i haven't looked in much detail if that would work.
>>>
>>>     My concern is that this is duplicating a bunch of code and
>>>     increasing the surface area for what is minimal benefit. It is
>>>     one of those cases where i'd love to not have to maintain
>>>     backward compatibility.
>>>
>>>     Thanks,
>>>     Damian
>>>
>>>     On Fri, 2 Jun 2017 at 08:20 Michal Borowiecki
>>>     <michal.borowiecki@openbet.com
>>>     <ma...@openbet.com>> wrote:
>>>
>>>         Thanks Matthias,
>>>
>>>         I appreciate people are busy now preparing the 0.11 release.
>>>
>>>         One thing I would also appreciate input on is perhaps a
>>>         better name for the new TypedStores class, I just picked it
>>>         quickly but don't really like it.
>>>
>>>         Perhaps StateStores would make for a better name?
>>>
>>>         Cheers,
>>>         Michal
>>>
>>>
>>>         On 02/06/17 07:18, Matthias J. Sax wrote:
>>>>         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 <mi...@openbet.com>
>>>>>>>         <ma...@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> <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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
>>>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>>>
>>>>>>>>>>>         	
>>>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>>>
>>>>>>>>>>>         	
>>>>>>>>>>>         	 
>>>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com> <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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
>>>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>>         <ma...@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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
>>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>>
>>>>>>>>>>         	
>>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>>
>>>>>>>>>>         	
>>>>>>>>>>         	 
>>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com> <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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
>>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>>>>         <ma...@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/> <http://www.openbet.com/>	Michal Borowiecki
>>>>>>>         Senior Software Engineer L4
>>>>>>>         <halfcircle_tiny.gif>	T:	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>
>>>>>>>
>>>>>>>         +44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>
>>>>>>>
>>>>>>>          
>>>>>>>         <halfcircle_tiny.gif>	E:	michal.borowiecki@openbet.com
>>>>>>>         <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>         <ma...@openbet.com>
>>>>>>>         <halfcircle_tiny.gif>	W:	www.openbet.com <http://www.openbet.com> <http://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>
>>>>>>>         <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 postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com>
>>>>>>>         <ma...@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 <tel:+44%2020%208742%201600>
>>>>>
>>>>>         	
>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>
>>>>>         	
>>>>>         	 
>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>         <ma...@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
>>>>>         postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com> <ma...@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
>>>>>
>>>
>>>         -- 
>>>         <http://www.openbet.com/> 	Michal Borowiecki
>>>         Senior Software Engineer L4
>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>
>>>         	
>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>
>>>         	
>>>         	 
>>>         	E: 	michal.borowiecki@openbet.com
>>>         <ma...@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 postmaster@openbet.com
>>>         <ma...@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.borowiecki@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
>> postmaster@openbet.com <ma...@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.borowiecki@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
> postmaster@openbet.com <ma...@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
> 


Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by Michal Borowiecki <mi...@openbet.com>.
I think the discussion on Streams DSL refactoring will render this KIP 
obsolete.

I'll leave is as under discussion until something is agreed and then 
move it to discarded.

Cheers,

Michał


On 03/06/17 10:02, Michal Borowiecki wrote:
>
> I agree maintaining backwards-compatibility here adds a lot of overhead.
>
> I haven't so far found a way to reconcile these elegantly.
>
> Whichever way we go it's better to take the pain sooner rather than 
> later. Kafka 0.11.0.0 (through KAFKA-5045 
> <https://issues.apache.org/jira/browse/KAFKA-5045>/KIP-114) increased 
> the surface affected by the lack of fully type-parametrised suppliers 
> noticeably.
>
> Cheers,
>
> Michał
>
>
> On 03/06/17 09:43, Damian Guy wrote:
>> Hmm, i guess this won't work due to adding the additional <K,V> to 
>> the StateStoreSupplier params on reduce, count, aggregate etc.
>>
>> On Sat, 3 Jun 2017 at 09:06 Damian Guy <damian.guy@gmail.com 
>> <ma...@gmail.com>> wrote:
>>
>>     Hi Michal,
>>
>>     Thanks for the KIP - is there a way we can do this without having
>>     to introduce the new Typed.. Interfaces, overloaded methods etc?
>>     Is it possible that we just need to provide a couple of new
>>     methods on PersistentKeyValueFactory for windowed and
>>     sessionWindowed to return interfaces like you've introduced in
>>     TypedStores?
>>     I admit i haven't looked in much detail if that would work.
>>
>>     My concern is that this is duplicating a bunch of code and
>>     increasing the surface area for what is minimal benefit. It is
>>     one of those cases where i'd love to not have to maintain
>>     backward compatibility.
>>
>>     Thanks,
>>     Damian
>>
>>     On Fri, 2 Jun 2017 at 08:20 Michal Borowiecki
>>     <michal.borowiecki@openbet.com
>>     <ma...@openbet.com>> wrote:
>>
>>         Thanks Matthias,
>>
>>         I appreciate people are busy now preparing the 0.11 release.
>>
>>         One thing I would also appreciate input on is perhaps a
>>         better name for the new TypedStores class, I just picked it
>>         quickly but don't really like it.
>>
>>         Perhaps StateStores would make for a better name?
>>
>>         Cheers,
>>         Michal
>>
>>
>>         On 02/06/17 07:18, Matthias J. Sax wrote:
>>>         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<mi...@openbet.com>
>>>>>>         <ma...@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>  <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/>  <http://www.openbet.com/> <http://www.openbet.com/>  	Michal Borowiecki
>>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>>
>>>>>>>>>>         	
>>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>>
>>>>>>>>>>         	
>>>>>>>>>>         	
>>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com>  <http://www.openbet.com/> <http://www.openbet.com/>  <http://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>  <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
>>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>>         <ma...@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/>  <http://www.openbet.com/> <http://www.openbet.com/>  	Michal Borowiecki
>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>
>>>>>>>>>         	
>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>
>>>>>>>>>         	
>>>>>>>>>         	
>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com>  <http://www.openbet.com/> <http://www.openbet.com/>  <http://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>  <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
>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@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/> <http://www.openbet.com/>	Michal Borowiecki
>>>>>>         Senior Software Engineer L4
>>>>>>         <halfcircle_tiny.gif>	T:	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>
>>>>>>
>>>>>>         +44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>
>>>>>>
>>>>>>           
>>>>>>         <halfcircle_tiny.gif>	E:	michal.borowiecki@openbet.com
>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>         <ma...@openbet.com>
>>>>>>         <halfcircle_tiny.gif>	W:	www.openbet.com <http://www.openbet.com>  <http://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>
>>>>>>         <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 thepostmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>         <ma...@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 <tel:+44%2020%208742%201600>
>>>>
>>>>         	
>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>
>>>>         	
>>>>         	
>>>>         	E: 	michal.borowiecki@openbet.com
>>>>         <ma...@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
>>>>         postmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com> <ma...@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
>>>>
>>
>>         -- 
>>         <http://www.openbet.com/> 	Michal Borowiecki
>>         Senior Software Engineer L4
>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>
>>         	
>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>
>>         	
>>         	
>>         	E: 	michal.borowiecki@openbet.com
>>         <ma...@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 postmaster@openbet.com
>>         <ma...@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.borowiecki@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 
> postmaster@openbet.com <ma...@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.borowiecki@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 
postmaster@openbet.com <ma...@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


Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by Michal Borowiecki <mi...@openbet.com>.
I agree maintaining backwards-compatibility here adds a lot of overhead.

I haven't so far found a way to reconcile these elegantly.

Whichever way we go it's better to take the pain sooner rather than 
later. Kafka 0.11.0.0 (through KAFKA-5045 
<https://issues.apache.org/jira/browse/KAFKA-5045>/KIP-114) increased 
the surface affected by the lack of fully type-parametrised suppliers 
noticeably.

Cheers,

Michał


On 03/06/17 09:43, Damian Guy wrote:
> Hmm, i guess this won't work due to adding the additional <K,V> to the 
> StateStoreSupplier params on reduce, count, aggregate etc.
>
> On Sat, 3 Jun 2017 at 09:06 Damian Guy <damian.guy@gmail.com 
> <ma...@gmail.com>> wrote:
>
>     Hi Michal,
>
>     Thanks for the KIP - is there a way we can do this without having
>     to introduce the new Typed.. Interfaces, overloaded methods etc?
>     Is it possible that we just need to provide a couple of new
>     methods on PersistentKeyValueFactory for windowed and
>     sessionWindowed to return interfaces like you've introduced in
>     TypedStores?
>     I admit i haven't looked in much detail if that would work.
>
>     My concern is that this is duplicating a bunch of code and
>     increasing the surface area for what is minimal benefit. It is one
>     of those cases where i'd love to not have to maintain backward
>     compatibility.
>
>     Thanks,
>     Damian
>
>     On Fri, 2 Jun 2017 at 08:20 Michal Borowiecki
>     <michal.borowiecki@openbet.com
>     <ma...@openbet.com>> wrote:
>
>         Thanks Matthias,
>
>         I appreciate people are busy now preparing the 0.11 release.
>
>         One thing I would also appreciate input on is perhaps a better
>         name for the new TypedStores class, I just picked it quickly
>         but don't really like it.
>
>         Perhaps StateStores would make for a better name?
>
>         Cheers,
>         Michal
>
>
>         On 02/06/17 07:18, Matthias J. Sax wrote:
>>         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<mi...@openbet.com>
>>>>>         <ma...@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>  <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/>  <http://www.openbet.com/> <http://www.openbet.com/>  	Michal Borowiecki
>>>>>>>>>         Senior Software Engineer L4
>>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>>
>>>>>>>>>         	
>>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>>
>>>>>>>>>         	
>>>>>>>>>         	
>>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@openbet.com>
>>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com>  <http://www.openbet.com/> <http://www.openbet.com/>  <http://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>  <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
>>>>>>>>>         postmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>>         <ma...@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/>  <http://www.openbet.com/> <http://www.openbet.com/>  	Michal Borowiecki
>>>>>>>>         Senior Software Engineer L4
>>>>>>>>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>>>>
>>>>>>>>         	
>>>>>>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>>>>
>>>>>>>>         	
>>>>>>>>         	
>>>>>>>>         	E: 	michal.borowiecki@openbet.com
>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>         <ma...@openbet.com>
>>>>>>>>         	W: 	www.openbet.com <http://www.openbet.com>  <http://www.openbet.com/> <http://www.openbet.com/>  <http://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>  <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
>>>>>>>>         postmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>>>>         <ma...@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/> <http://www.openbet.com/>	Michal Borowiecki
>>>>>         Senior Software Engineer L4
>>>>>         <halfcircle_tiny.gif>	T:	+44 208 742 1600 <tel:+44%2020%208742%201600>
>>>>>
>>>>>
>>>>>         +44 203 249 8448 <tel:+44%2020%203249%208448>
>>>>>
>>>>>
>>>>>           
>>>>>         <halfcircle_tiny.gif>	E:	michal.borowiecki@openbet.com
>>>>>         <ma...@openbet.com>  <ma...@openbet.com>
>>>>>         <ma...@openbet.com>
>>>>>         <halfcircle_tiny.gif>	W:	www.openbet.com <http://www.openbet.com>  <http://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>
>>>>>         <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 thepostmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com>
>>>>>         <ma...@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 <tel:+44%2020%208742%201600>
>>>
>>>         	
>>>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>>>
>>>         	
>>>         	
>>>         	E: 	michal.borowiecki@openbet.com
>>>         <ma...@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
>>>         postmaster@openbet.com <ma...@openbet.com>  <ma...@openbet.com> <ma...@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
>>>
>
>         -- 
>         <http://www.openbet.com/> 	Michal Borowiecki
>         Senior Software Engineer L4
>         	T: 	+44 208 742 1600 <tel:+44%2020%208742%201600>
>
>         	
>         	+44 203 249 8448 <tel:+44%2020%203249%208448>
>
>         	
>         	
>         	E: 	michal.borowiecki@openbet.com
>         <ma...@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 postmaster@openbet.com
>         <ma...@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.borowiecki@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 
postmaster@openbet.com <ma...@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


Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by Damian Guy <da...@gmail.com>.
Hmm, i guess this won't work due to adding the additional <K,V> to the
StateStoreSupplier params on reduce, count, aggregate etc.

On Sat, 3 Jun 2017 at 09:06 Damian Guy <da...@gmail.com> wrote:

> Hi Michal,
>
> Thanks for the KIP - is there a way we can do this without having to
> introduce the new Typed.. Interfaces, overloaded methods etc? Is it
> possible that we just need to provide a couple of new methods on
> PersistentKeyValueFactory for windowed and sessionWindowed to return
> interfaces like you've introduced in TypedStores?
> I admit i haven't looked in much detail if that would work.
>
> My concern is that this is duplicating a bunch of code and increasing the
> surface area for what is minimal benefit. It is one of those cases where
> i'd love to not have to maintain backward compatibility.
>
> Thanks,
> Damian
>
> On Fri, 2 Jun 2017 at 08:20 Michal Borowiecki <
> michal.borowiecki@openbet.com> wrote:
>
>> Thanks Matthias,
>>
>> I appreciate people are busy now preparing the 0.11 release.
>>
>> One thing I would also appreciate input on is perhaps a better name for
>> the new TypedStores class, I just picked it quickly but don't really like
>> it.
>>
>> Perhaps StateStores would make for a better name?
>> Cheers,
>> Michal
>>
>>
>> On 02/06/17 07:18, Matthias J. Sax wrote:
>>
>> 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 <mi...@openbet.com> <mi...@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> <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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
>> Senior Software Engineer L4
>> 	T: 	+44 208 742 1600 <+44%2020%208742%201600>
>>
>> 	
>> 	+44 203 249 8448 <+44%2020%203249%208448>
>>
>> 	
>> 	
>> 	E: 	michal.borowiecki@openbet.com <ma...@openbet.com> <mi...@openbet.com>
>> 	W: 	www.openbet.com <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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 thepostmaster@openbet.com <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
>> Senior Software Engineer L4
>> 	T: 	+44 208 742 1600 <+44%2020%208742%201600>
>>
>> 	
>> 	+44 203 249 8448 <+44%2020%203249%208448>
>>
>> 	
>> 	
>> 	E: 	michal.borowiecki@openbet.com <ma...@openbet.com> <mi...@openbet.com>
>> 	W: 	www.openbet.com <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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 thepostmaster@openbet.com <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@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/> <http://www.openbet.com/>	Michal Borowiecki
>> Senior Software Engineer L4
>> <halfcircle_tiny.gif>	T:	+44 208 742 1600 <+44%2020%208742%201600>
>>
>> +44 203 249 8448 <+44%2020%203249%208448>
>>
>>
>>
>> <halfcircle_tiny.gif>	E:	michal.borowiecki@openbet.com <ma...@openbet.com> <mi...@openbet.com>
>> <halfcircle_tiny.gif>	W:	www.openbet.com <http://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> <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 postmaster@openbet.com <ma...@openbet.com> <po...@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%2020%208742%201600>
>>
>> 	
>> 	+44 203 249 8448 <+44%2020%203249%208448>
>>
>> 	
>> 	
>> 	E: 	michal.borowiecki@openbet.com
>> 	W: 	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 thepostmaster@openbet.com <ma...@openbet.com> <po...@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
>>
>>
>>
>> --
>> <http://www.openbet.com/> Michal Borowiecki
>> Senior Software Engineer L4
>> T: +44 208 742 1600 <+44%2020%208742%201600>
>>
>>
>> +44 203 249 8448 <+44%2020%203249%208448>
>>
>>
>>
>> E: michal.borowiecki@openbet.com
>> W: 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
>> postmaster@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
>>
>

Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by Damian Guy <da...@gmail.com>.
Hi Michal,

Thanks for the KIP - is there a way we can do this without having to
introduce the new Typed.. Interfaces, overloaded methods etc? Is it
possible that we just need to provide a couple of new methods on
PersistentKeyValueFactory for windowed and sessionWindowed to return
interfaces like you've introduced in TypedStores?
I admit i haven't looked in much detail if that would work.

My concern is that this is duplicating a bunch of code and increasing the
surface area for what is minimal benefit. It is one of those cases where
i'd love to not have to maintain backward compatibility.

Thanks,
Damian

On Fri, 2 Jun 2017 at 08:20 Michal Borowiecki <mi...@openbet.com>
wrote:

> Thanks Matthias,
>
> I appreciate people are busy now preparing the 0.11 release.
>
> One thing I would also appreciate input on is perhaps a better name for
> the new TypedStores class, I just picked it quickly but don't really like
> it.
>
> Perhaps StateStores would make for a better name?
> Cheers,
> Michal
>
>
> On 02/06/17 07:18, Matthias J. Sax wrote:
>
> 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 <mi...@openbet.com> <mi...@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> <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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
> Senior Software Engineer L4
> 	T: 	+44 208 742 1600 <+44%2020%208742%201600>
>
> 	
> 	+44 203 249 8448 <+44%2020%203249%208448>
>
> 	
> 	
> 	E: 	michal.borowiecki@openbet.com <ma...@openbet.com> <mi...@openbet.com>
> 	W: 	www.openbet.com <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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 thepostmaster@openbet.com <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@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/> <http://www.openbet.com/> <http://www.openbet.com/> 	Michal Borowiecki
> Senior Software Engineer L4
> 	T: 	+44 208 742 1600 <+44%2020%208742%201600>
>
> 	
> 	+44 203 249 8448 <+44%2020%203249%208448>
>
> 	
> 	
> 	E: 	michal.borowiecki@openbet.com <ma...@openbet.com> <mi...@openbet.com>
> 	W: 	www.openbet.com <http://www.openbet.com/> <http://www.openbet.com/> <http://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> <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 thepostmaster@openbet.com <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@openbet.com> <ma...@openbet.com> <po...@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/> <http://www.openbet.com/>	Michal Borowiecki
> Senior Software Engineer L4
> <halfcircle_tiny.gif>	T:	+44 208 742 1600 <+44%2020%208742%201600>
>
> +44 203 249 8448 <+44%2020%203249%208448>
>
>
>
> <halfcircle_tiny.gif>	E:	michal.borowiecki@openbet.com <ma...@openbet.com> <mi...@openbet.com>
> <halfcircle_tiny.gif>	W:	www.openbet.com <http://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> <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 postmaster@openbet.com <ma...@openbet.com> <po...@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%2020%208742%201600>
>
> 	
> 	+44 203 249 8448 <+44%2020%203249%208448>
>
> 	
> 	
> 	E: 	michal.borowiecki@openbet.com
> 	W: 	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 thepostmaster@openbet.com <ma...@openbet.com> <po...@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
>
>
>
> --
> <http://www.openbet.com/> Michal Borowiecki
> Senior Software Engineer L4
> T: +44 208 742 1600 <+44%2020%208742%201600>
>
>
> +44 203 249 8448 <+44%2020%203249%208448>
>
>
>
> E: michal.borowiecki@openbet.com
> W: 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
> postmaster@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
>

Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods

Posted by Michal Borowiecki <mi...@openbet.com>.
Thanks Matthias,

I appreciate people are busy now preparing the 0.11 release.

One thing I would also appreciate input on is perhaps a better name for 
the new TypedStores class, I just picked it quickly but don't really 
like it.

Perhaps StateStores would make for a better name?

Cheers,
Michal

On 02/06/17 07:18, Matthias J. Sax wrote:
> 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 <mi...@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.borowiecki@openbet.com <ma...@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
>>>>>>>> postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com> <ma...@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.borowiecki@openbet.com <ma...@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
>>>>>>> postmaster@openbet.com <ma...@openbet.com> <ma...@openbet.com> <ma...@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.borowiecki@openbet.com <ma...@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 postmaster@openbet.com <ma...@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.borowiecki@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
>> postmaster@openbet.com <ma...@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.borowiecki@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 
postmaster@openbet.com <ma...@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