kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damian Guy <damian....@gmail.com>
Subject Re: [DISCUSS] KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods
Date Sat, 03 Jun 2017 08:06:45 GMT
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 <michal.borowiecki@openbet.com>
<michal.borowiecki@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 <mailto:michal.borowiecki@openbet.com> <michal.borowiecki@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
<mailto:postmaster@openbet.com> <postmaster@openbet.com> <mailto:postmaster@openbet.com>
<postmaster@openbet.com> <mailto:postmaster@openbet.com> <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
>
>
> --
> 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 <mailto:michal.borowiecki@openbet.com> <michal.borowiecki@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
<mailto:postmaster@openbet.com> <postmaster@openbet.com> <mailto:postmaster@openbet.com>
<postmaster@openbet.com> <mailto:postmaster@openbet.com> <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
>
>
> --
> <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 <mailto:michal.borowiecki@openbet.com>
<michal.borowiecki@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 <mailto:postmaster@openbet.com>
<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
>
>
> --
> 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
<mailto:postmaster@openbet.com> <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
>
>
>
> --
> <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
>

Mime
  • Unnamed multipart/related (inline, None, 0 bytes)
View raw message