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 > > > > > > > > >