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

2017-11-10 Thread Matthias J. Sax
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
>>> /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  to
 the StateStoreSupplier params on reduce, count, aggregate etc.

 On Sat, 3 Jun 2017 at 09:06 Damian Guy > 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
 > 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 
 
  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> and 
 TypedStateStoreSupplier> respectively, which are 
 NOT 

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

2017-10-13 Thread Matthias J. Sax
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
>> /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  to
>>> the StateStoreSupplier params on reduce, count, aggregate etc.
>>>
>>> On Sat, 3 Jun 2017 at 09:06 Damian Guy >> > 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
>>> >> > 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 
>>> 
>>>  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> and 
>>> TypedStateStoreSupplier> respectively, which are NOT 
>>> subclasses of TypedStateStoreSupplier>. I do not 
>>> see another way around it. Admittedly, my type covariance skills are 
>>> rudimentary. Does anyone see a better way around this? )
>>>
>>> Since 

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

2017-06-24 Thread Michal Borowiecki
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 
/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  to 
the StateStoreSupplier params on reduce, count, aggregate etc.


On Sat, 3 Jun 2017 at 09:06 Damian Guy > 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
> 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
  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> and TypedStateStoreSupplier> 
respectively, which are NOT subclasses of TypedStateStoreSupplier>. 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 

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

2017-06-03 Thread Michal Borowiecki

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 
/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  to the 
StateStoreSupplier params on reduce, count, aggregate etc.


On Sat, 3 Jun 2017 at 09:06 Damian Guy > 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
> 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
  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> and TypedStateStoreSupplier> 
respectively, which are NOT subclasses of TypedStateStoreSupplier>. 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 

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

2017-06-03 Thread Damian Guy
Hmm, i guess this won't work due to adding the additional  to the
StateStoreSupplier params on reduce, count, aggregate etc.

On Sat, 3 Jun 2017 at 09:06 Damian Guy  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.borowie...@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 
>>   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> 
>> and TypedStateStoreSupplier> respectively, which are NOT 
>> subclasses of TypedStateStoreSupplier>. 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 
>> 

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

2017-06-03 Thread Damian Guy
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 
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 
>   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> and 
> TypedStateStoreSupplier> respectively, which are NOT 
> subclasses of TypedStateStoreSupplier>. 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
>   
>  
> 
>
> Please let me know if this a step in the right direction.
>
> All comments welcome.

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

2017-06-02 Thread Michal Borowiecki

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  
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> and TypedStateStoreSupplier> 
respectively, which are NOT subclasses of TypedStateStoreSupplier>. 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
 


Please let me know if this a step in the right direction.

All comments welcome.

Thanks,
Michal
--
Signature
  Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com 

W:  www.openbet.com   



OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK


 

This message is confidential and intended only for the addressee. If
you have received this message in error, please immediately notify the
postmas...@openbet.com  
  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 

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

2017-06-02 Thread Matthias J. Sax
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 
>>>  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>> V>> and TypedStateStoreSupplier> respectively, which are 
>>> NOT subclasses of TypedStateStoreSupplier>. 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
>>> 
>>>  
>>> 
>>>
>>> Please let me know if this a step in the right direction.
>>>
>>> All comments welcome.
>>>
>>> Thanks,
>>> Michal
>>> -- 
>>> Signature
>>>   Michal 
>>> Borowiecki
>>> Senior Software Engineer L4
>>> T:  +44 208 742 1600
>>>
>>> 
>>> +44 203 249 8448
>>>
>>> 
>>>  
>>> E:  michal.borowie...@openbet.com 
>>> 
>>> W:  www.openbet.com  
>>>  
>>>
>>> 
>>> OpenBet Ltd
>>>
>>> Chiswick Park Building 9
>>>
>>> 566 Chiswick High Rd
>>>
>>> London
>>>
>>> W4 5XT
>>>
>>> UK
>>>
>>> 
>>>  
>>> 
>>>
>>> This message is confidential and 

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

2017-05-27 Thread Michal Borowiecki

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  
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> and TypedStateStoreSupplier> 
respectively, which are NOT subclasses of TypedStateStoreSupplier>. 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
 


Please let me know if this a step in the right direction.

All comments welcome.

Thanks,
Michal
--
Signature
  Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com 

W:  www.openbet.com   



OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK


 

This message is confidential and intended only for the addressee. If
you have received this message in error, please immediately notify the
postmas...@openbet.com  
  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
  Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com 

W:  www.openbet.com   

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

2017-05-07 Thread Michal Borowiecki

To visualise this better, I've created a WIP PR:

https://github.com/apache/kafka/pull/2992

tentatively having named the new Stores class TypedStores.

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  
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> and TypedStateStoreSupplier> 
respectively, which are NOT subclasses of TypedStateStoreSupplier>. 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
 


Please let me know if this a step in the right direction.

All comments welcome.

Thanks,
Michal
--
Signature
  Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com 

W:  www.openbet.com   



OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK


 

This message is confidential and intended only for the addressee. If
you have received this message in error, please immediately notify the
postmas...@openbet.com  
  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
  Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com 

W:  www.openbet.com   



OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK



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

2017-05-07 Thread Eno Thereska
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 
>  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> and 
> TypedStateStoreSupplier> respectively, which are NOT 
> subclasses of TypedStateStoreSupplier>. 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
> 
>  
> 
> 
> Please let me know if this a step in the right direction.
> 
> All comments welcome.
> 
> Thanks,
> Michal
> -- 
> Signature
>     Michal 
> Borowiecki
> Senior Software Engineer L4
>   T:  +44 208 742 1600
> 
>   
>   +44 203 249 8448
> 
>   
>
>   E:  michal.borowie...@openbet.com 
> 
>   W:  www.openbet.com  
>  
> 
>   
>   OpenBet Ltd
> 
>   Chiswick Park Building 9
> 
>   566 Chiswick High Rd
> 
>   London
> 
>   W4 5XT
> 
>   UK
> 
>   
>  
> 
> 
> This message is confidential and intended only for the addressee. If
> you have received this message in error, please immediately notify the
> postmas...@openbet.com  
>   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
  Michal 
 Borowiecki
 Senior Software Engineer L4
T:  +44 208 742 1600
 

+44 203 249 8448
 

 
E:  

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

2017-05-06 Thread Michal Borowiecki

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> and 
TypedStateStoreSupplier> respectively, which are NOT 
subclasses of TypedStateStoreSupplier>. 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


Please let me know if this a step in the right direction.

All comments welcome.

Thanks,
Michal
--
Signature
 Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com
W:  www.openbet.com 


OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK




This message is confidential and intended only for the addressee. If
you have received this message in error, please immediately notify the
postmas...@openbet.com  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
 Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com
W:  www.openbet.com 


OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK




This message is confidential and intended only for the addressee. If you
have received this message in error, please immediately notify the
postmas...@openbet.com  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
 Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 

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

2017-05-04 Thread Matthias J. Sax
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
>>> 
>>>
>>> Please let me know if this a step in the right direction.
>>>
>>> All comments welcome.
>>>
>>> Thanks,
>>> Michal
>>> -- 
>>> Signature
>>>    Michal Borowiecki
>>> Senior Software Engineer L4
>>> T:  +44 208 742 1600
>>>
>>> 
>>> +44 203 249 8448
>>>
>>> 
>>>  
>>> E:  michal.borowie...@openbet.com
>>> W:  www.openbet.com 
>>>
>>> 
>>> OpenBet Ltd
>>>
>>> Chiswick Park Building 9
>>>
>>> 566 Chiswick High Rd
>>>
>>> London
>>>
>>> W4 5XT
>>>
>>> UK
>>>
>>> 
>>> 
>>>
>>> This message is confidential and intended only for the addressee. If
>>> you have received this message in error, please immediately notify the
>>> postmas...@openbet.com  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
>> Michal Borowiecki
>> Senior Software Engineer L4
>>  T:  +44 208 742 1600
>>
>>  
>>  +44 203 249 8448
>>
>>  
>>   
>>  E:  michal.borowie...@openbet.com
>>  W:  www.openbet.com 
>>
>>  
>>  OpenBet Ltd
>>
>>  Chiswick Park Building 9
>>
>>  566 Chiswick High Rd
>>
>>  London
>>
>>  W4 5XT
>>
>>  UK
>>
>>  
>> 
>>
>> This message is confidential and intended only for the addressee. If you
>> have received this message in error, please immediately notify the
>> postmas...@openbet.com  and delete it
>> from your system as well as any copies. The content of e-mails as well
>> as traffic data may be monitored by OpenBet for employment and security
>> purposes. To protect the environment please do not print this e-mail
>> unless necessary. OpenBet Ltd. Registered Office: Chiswick Park Building
>> 9, 566 Chiswick High Road, London, W4 5XT, United Kingdom. A company
>> registered in England and Wales. Registered no. 3134634. VAT no.
>> GB927523612
>>
> 



signature.asc
Description: OpenPGP digital signature


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

2017-05-04 Thread Matthias J. Sax
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
>> 
>>
>> Please let me know if this a step in the right direction.
>>
>> All comments welcome.
>>
>> Thanks,
>> Michal
>> -- 
>> Signature
>> Michal Borowiecki
>> Senior Software Engineer L4
>>  T:  +44 208 742 1600
>>
>>  
>>  +44 203 249 8448
>>
>>  
>>   
>>  E:  michal.borowie...@openbet.com
>>  W:  www.openbet.com 
>>
>>  
>>  OpenBet Ltd
>>
>>  Chiswick Park Building 9
>>
>>  566 Chiswick High Rd
>>
>>  London
>>
>>  W4 5XT
>>
>>  UK
>>
>>  
>> 
>>
>> This message is confidential and intended only for the addressee. If
>> you have received this message in error, please immediately notify the
>> postmas...@openbet.com  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
>  Michal Borowiecki
> Senior Software Engineer L4
>   T:  +44 208 742 1600
> 
>   
>   +44 203 249 8448
> 
>   
>
>   E:  michal.borowie...@openbet.com
>   W:  www.openbet.com 
> 
>   
>   OpenBet Ltd
> 
>   Chiswick Park Building 9
> 
>   566 Chiswick High Rd
> 
>   London
> 
>   W4 5XT
> 
>   UK
> 
>   
> 
> 
> This message is confidential and intended only for the addressee. If you
> have received this message in error, please immediately notify the
> postmas...@openbet.com  and delete it
> from your system as well as any copies. The content of e-mails as well
> as traffic data may be monitored by OpenBet for employment and security
> purposes. To protect the environment please do not print this e-mail
> unless necessary. OpenBet Ltd. Registered Office: Chiswick Park Building
> 9, 566 Chiswick High Road, London, W4 5XT, United Kingdom. A company
> registered in England and Wales. Registered no. 3134634. VAT no.
> GB927523612
> 



signature.asc
Description: OpenPGP digital signature


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

2017-05-04 Thread Michal Borowiecki

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 



Please let me know if this a step in the right direction.

All comments welcome.

Thanks,
Michal
--
Signature
 Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com
W:  www.openbet.com 


OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK




This message is confidential and intended only for the addressee. If 
you have received this message in error, please immediately notify the 
postmas...@openbet.com  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
 Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com
W:  www.openbet.com 


OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK




This message is confidential and intended only for the addressee. If you 
have received this message in error, please immediately notify the 
postmas...@openbet.com  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




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

2017-04-30 Thread Michal Borowiecki

Hi community!

I have just drafted KIP-147: Add missing type parameters to 
StateStoreSupplier factories and KGroupedStream/Table methods 



Please let me know if this a step in the right direction.

All comments welcome.

Thanks,
Michal
--
Signature
 Michal Borowiecki
Senior Software Engineer L4
T:  +44 208 742 1600


+44 203 249 8448



E:  michal.borowie...@openbet.com
W:  www.openbet.com 


OpenBet Ltd

Chiswick Park Building 9

566 Chiswick High Rd

London

W4 5XT

UK




This message is confidential and intended only for the addressee. If you 
have received this message in error, please immediately notify the 
postmas...@openbet.com  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