>
> But it seems that currently all Durable subscriptions on
>
non-persistent topics are NonDurable, and I wonder if that confuses
> users.
>

We can add validation to inform the user that a durable subscription on a
non-persistent topic is invalid.


Thanks,
Baodi Shi


在 2023年2月8日 10:48:32 上,Zike Yang <z...@apache.org> 写道:

> I agree to remove all subscriptions when there're no consumers on the
> non-persistent topic. The configuration
> `subscriptionExpirationTimeMinutes ` should not take effect on the
> non-persistent topic.
>
> But it seems that currently all Durable subscriptions on
> non-persistent topics are NonDurable, and I wonder if that confuses
> users.
>
> > But for `NonPersistentDispatcherMultipleConsumers`,
> `NonPersistentStickyKeyDispatcherMultipleConsumers`, I’m not sure that
> if it matters when  we auto delete the subscriptions which has no
> consumers connected.
>
> It doesn't matter IMO.
>
> Thanks,
> Zike Yang
>
>
>
> Zike Yang
>
> On Tue, Feb 7, 2023 at 9:22 PM Jiuming Tao
> <jm...@streamnative.io.invalid> wrote:
>
>
> > I think we are talking about the durable subscription of the
> non-persistent
>
> > topic, right?
>
>
> Yes, non-durable subscriptions created by Reader, if the reader
> disconnected, the subscription will be deleted automatically.
>
>
>
> For `NonPersistentDispatcher`, it has the following implementations:
>
> 1. NonPersistentDispatcherMultipleConsumers
>
> 2. NonPersistentDispatcherSingleActiveConsumer
>
> 3. NonPersistentStickyKeyDispatcherMultipleConsumers
>
>
> For `NonPersistentDispatcherSingleActiveConsumer`, auto delete the
> subscription when there isn’t consumer connected affect nothing.
>
>
> But for `NonPersistentDispatcherMultipleConsumers`,
> `NonPersistentStickyKeyDispatcherMultipleConsumers`, I’m not sure that if
> it matters when  we auto delete the subscriptions which has no consumers
> connected.
>
>
> If it doesn’t matter, I agree with you.
>
>
> Auto delete the durable subscriptions when there aren’t consumers
> connected to the non-persistent topic.
>
>
>
> Thanks,
>
> Tao Jiuming
>
>
>
> > 2023年2月7日 19:58,PengHui Li <peng...@apache.org <mailto:
> peng...@apache.org>> 写道:
>
> >
>
> > I think we are talking about the durable subscription of the
> non-persistent
>
> > topic, right? For the Reader API (non-durable subscription), the
>
> > subscription will be
>
> > removed after the reader disconnects. If not, it should be BUG.
>
> >
>
> > IMO, we should remove the subscription automatically if all the consumers
>
> > are disconnected for the non-persistent topic. The consumers can only get
>
> > the new incoming messages after they connect to the non-persistent topic.
>
> > It looks like even if we leave the subscription there; it will
>
> > help nothing.
>
> > The behavior should be the same as creating a new subscription with the
>
> > same subscription name.
>
> >
>
> > For subscription management, users are not able to disable the
> subscription
>
> > auto-creation of the non-persistent topic? We don't have any metadata
>
> > persist
>
> > in the metadata store. After the broker restarts, we will lose
> everything.
>
> >
>
> > So I think we don't need to introduce a new configuration. Instead, we
>
> > should
>
> > figure out if there is a strong reason to leave the durable subscription
>
> > after
>
> > all the consumers are disconnected. If there is no strong reason, I tend
> to
>
> > fix
>
> > incorrect behavior directly.
>
> >
>
> > Best,
>
> > Penghui
>
> >
>
> >
>
> >
>
> >
>
> > On Tue, Feb 7, 2023 at 4:14 PM Jiuming Tao <jm...@streamnative.io.invalid
> <mailto:jm...@streamnative.io.invalid>>
>
> > wrote:
>
> >
>
> >> Hi,
>
> >>
>
> >> I’ve opened a new PIP to discuss:
>
> >>
>
> >> Currently, in Pulsar, we have a configuration named
>
> >> `subscriptionExpirationTimeMinutes` to manage the subscription
> expiration
>
> >> of `PersistentTopic` and `NonPersistentTopic`.
>
> >>
>
> >> When we set a value which is greater than 0 to
>
> >> `subscriptionExpirationTimeMinutes`, it will affect both
> `PersistentTopic`
>
> >> and `NonPersistentTopic`. Their inactive subscriptions will get expired
> and
>
> >> will clean automatically.
>
> >>
>
> >> For `NonPersistentTopic`, its subscriptions can be clean because we
> don't
>
> >> guarantee its data integrity. But for `PersistentTopic`, if we clean its
>
> >> subscriptions automatically may lead to data loss.
>
> >>
>
> >> However, their subscription expiration is managed by the same
>
> >> configuration(`subscriptionExpirationTimeMinutes`), we can't manage
> their
>
> >> subscription expiration independently.
>
> >>
>
> >> So I want to introduce a new configuration named
>
> >> `nonPersistentSubscriptionExpirationTimeMinutes` to manage
>
> >> `NonPersistentTopic`'s subscription expiration.
>
> >>
>
> >>
>
> >> Please feel free to leave your comments, the PIP link:
>
> >> https://github.com/apache/pulsar/issues/19448 <
> https://github.com/apache/pulsar/issues/19448> <
>
> >> https://github.com/apache/pulsar/issues/19448 <
> https://github.com/apache/pulsar/issues/19448>>
>
> >>
>
> >>
>
> >> Thanks,
>
> >> Tao Jiuming
>
>
>

Reply via email to