Acked. `ordering_key` looks good to me.

- Sijie

On Mon, Apr 8, 2019 at 11:40 AM Jia Zhai <zhaiji...@gmail.com> wrote:

> Thanks Penghui & Sijie for the comments, updated the wiki link.
>
> 1. we should add the new ordering_key, it is as Penghui mentioned, There
> may features that all enabled, but want to use key for different purposes.
> 2. regarding consumer listener in "failover", it is originally for
> failover/exclusive mode, which only let one consumer alive.  In
> Key_Failover, it is more like shared mode, all alive consumer should be
> able to consume messages.
>
> Best Regards.
>
>
> Jia Zhai
>
> Beijing, China
>
> Mobile: +86 15810491983
>
>
>
>
> On Fri, Apr 5, 2019 at 1:04 AM Sijie Guo <guosi...@gmail.com> wrote:
>
> > Penguin,
> >
> > Thank you for your clarification! That makes sense to me then.
> >
> > Sijie
> >
> > On Thu, Apr 4, 2019 at 2:21 AM PengHui Li <codelipeng...@gmail.com>
> wrote:
> >
> > > @Sijie Guo <si...@apache.org>
> > >
> > > Sorry, I may not have described my point in the previous email.
> > > I try to describe it again. :)
> > >
> > > User can use key to achieve business logic(e.g. use user_id as message
> > key)
> > > At the same time, want to use another identifier as the basis for the
> > > order.
> > >
> > > As the message key has many uses, avoid duplicate messages, compaction
> > > topics.
> > > I prefer provide a mechanism to overwrite key based sorting behavior.
> > > Of course this is not mandatory.
> > >
> > > If the basis for sorting is exactly the same as the real purpose of the
> > > message key,
> > > just use the message key. Otherwise user provide the order key to
> > > overwrite.
> > >
> > > Best Regards.
> > > Penghui
> > >
> > > Sijie Guo <guosi...@gmail.com> 于2019年4月4日周四 下午3:36写道:
> > >
> > >> Jia thank you for raising this up.
> > >>
> > >> A couple of comments here
> > >>
> > >> 1. technically you don't need a consistent hashing mechanism for
> > dividing
> > >> hash ranges for consumers. Any hash mechanism that can map a key to a
> > >> consumer should work here. The only advantage of consistent hashing
> > >> mechanism is to reduce the disruptions when a consumer joins and
> leaves.
> > >> So
> > >> I would prefer making the hashing mechanism pluggable.
> > >>
> > >> 2. regarding using key or introducing a new ordering key. I would
> prefer
> > >> using `key` here. having two `keys` actually makes people confused.
> The
> > >> `key` was used for compaction but the compaction doesn't mutate the
> > >> original data. it just creates a new compacted ledger. in most of the
> > >> time,
> > >> when people use `key_failover`, they are probably accessing the
> original
> > >> data. Event they are trying to subscribe to compacted topic using
> > >> `key_failover`, the ordering of messages by key will still be true.
> so I
> > >> wouldn't worry about this part that much.
> > >>
> > >> 3. in `failover` there is a consumer listener that listens on the
> > >> partition
> > >> assignment changes. Is there any requirements or plans on adding
> similar
> > >> listeners for `key_failover`?
> > >>
> > >> Thanks,
> > >> Sijie
> > >>
> > >> On Wed, Apr 3, 2019 at 2:09 AM Jia Zhai <zhai...@apache.org> wrote:
> > >>
> > >> > Hi all,
> > >> >
> > >> > I would like to init a discuss of "PIP 34: Add new subscribe type --
> > >> > Key_Failover" here.
> > >> >
> > >> > At present, there are 3 kinds of subscription modes: exclusive,
> > shared,
> > >> and
> > >> > failover. Shared mode subscription is used a lot, because consumers
> > >> could
> > >> > effectively parallel consume messages of same partition.  But using
> > >> shared
> > >> > mode will not keep the message order of same key, It would be good
> to
> > >> > leverage share mode, while also keeping the ordering of messages.
> > >> >
> > >> > This Proposal trying to introduce a new subscribe type Key_Failover
> to
> > >> > extend shared type. By Key_Failover, one partition could have
> several
> > >> > consumers to parallel consume messages, while all messages with the
> > same
> > >> > key will be dispatched to only one consumer.
> > >> >
> > >> > Here is the link contains more information of this PIP:
> > >> >
> > >> >
> > >>
> >
> https://github.com/apache/pulsar/wiki/PIP-34%3A-Add-new-subscribe-type-Key_Failover
> > >> >
> > >> > Thanks.
> > >> >
> > >>
> > >
> >
>

Reply via email to