Hi, Bo

Thanks for starting the discussion.

I have no idea about the initial motivation for supporting message
redelivery for
Failover or Exclusive subscription. The redelivered messages will go to the
same
consumer under a single active consumer subscription mode.

Or maybe it is only designed for the Shared subscription?

It's better to get some feedback from Matteo, Joe, or anyone who knows the
background
about this part.

Thanks,
Penghui

On Tue, Nov 22, 2022 at 7:36 PM Yubiao Feng
<yubiao.f...@streamnative.io.invalid> wrote:

> Hi Congbo
>
> I think it is a goog idea.
>
> Thanks
> Yubiao
> Yu
>
> On Mon, Nov 21, 2022 at 9:04 PM 丛搏 <congbobo...@gmail.com> wrote:
>
> > Hello, Pulsar community:
> >
> > Now client consumer `void redeliverUnacknowledgedMessages();` is an
> > async interface, but it doesn't have the return value. only
> > `writeAndFlush` the redeliver command then finishes.
> >
> > `ConsumerImpl`:
> >
> >
> https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L1907-L1909
> >
> > `MultiTopicsConsumerImpl`:
> >
> >
> https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java#L667-L677
> >
> > in the shared subType, I think it doesn't need the response of the
> > `void redeliverUnacknowledgedMessages()`, and naming the
> > `redeliverUnacknowledgedMessages` is ok.
> >
> > but in failover and exclusive subType, if we don't get the response,
> > the user will receive the message from the `incomingQueue` then the
> > order of the message will be broken.  If the
> > `redeliverUnacknowledgedMessages` timeout, we should try again. but
> > `redeliverUnacknowledgedMessages` doesn't throw any exception or
> > retry. and the `redeliverUnacknowledgedMessages` name is not accurate
> > for failover and exclusive subType. it is named `rewind` is more
> > suitable.
> >
> > So I suggest `redeliverUnacknowledgedMessages` be deprecated under
> > failover and exclusive subType and add a new similar async and sync
> > method called `rewind` for failover and exclusive subType.
> >
> > Please leave your comments or suggestions, thanks!
> >
> > Thanks,
> > bo
> >
>

Reply via email to