I'd like to discuss the current behavior before making a decision.

First, note that it's currently valid for an exclusive consumer to
call `acknowledge` on an individual message. `reconsumeLater` is
essentially just `send` with a delay then `acknowledge`.

Second, the RetryTopicTest#testRetryTopic test passes when
using `Exclusive` subscriptions on the two consumers. The test
verifies that when a consumer calls `reconsumeLater`, all messages
eventually go to the DLQ after the retries are exhausted and the
original topic has no remaining messages when the next consumer
connects to the topic.

The one concern might be message delivery order, but I think it should
be pretty obvious that calling `reconsumeLater` can/will lead to
consumption of messages out of their original order. Also, the
messages were originally delivered in order and the consumer
chose to change the order.

In light of the above, I think we should consider updating the docs to
align with the current behavior instead of changing the client's
behavior.

Thanks,
Michael


On Thu, Jul 28, 2022 at 9:27 PM Haiting Jiang <jianghait...@gmail.com> wrote:
>
> > They can use `reconsumeLaterCumulative `  for non shared sub instead
>
> It means this is a breaking change. Users have to be noticed during
> upgrading.
>
> IMO, what we have to be clear is if we should insist on message
> order delivery
> with the default exclusive subscription type. If it's true, we would have
> no choice
> but to accept this breaking change.
>
> Thanks,
> Haiting
>
> On Wed, Jul 27, 2022 at 11:29 AM Gavin Gao <zhangmin...@apache.org> wrote:
>
> > They can use `reconsumeLaterCumulative `  for non shared sub instead
> >
> > On 2022/07/26 02:06:05 Haiting Jiang wrote:
> > > Hi Gavin,
> > >
> > > Do we have any plans for compatibility issue? As the exclusive
> > subscription type
> > >  is the default setting, user may use it even if they don't have any
> > message order
> > > requirements.
> > >
> > > Thanks,
> > > Haiting
> > >
> > > On 2022/07/25 06:50:12 Gavin gao wrote:
> > > >     As The official doc says "Currently, retry letter topic is enabled
> > in
> > > > Shared subscription types". But, actually We can use this method when
> > using
> > > > non shared sub.    We should disable using this method  for message
> > order
> > > > considering.
> > > >
> > > > Pr: https://github.com/apache/pulsar/pull/16745
> > > >
> > >
> >

Reply via email to