> But for NonPersistentTopic, creating a Durable subscription is
meaningless, NonPersistentSubscription doesn't have a ManagedCursor to
persistent its data. After its consumer disconnected, the subscription
couldn't be removed automatically if we didn't set the value of
subscriptionExpirationTimeMinutes greater than 0.
This is not correct. Non-Persistent topics don't create durable
subscriptions but It creates NonPersistent Subscription without storing its
state.

> if we set the value of subscriptionExpirationTimeMinutes greater than 0,
it may lead to data loss(The durable subscriptions of PersistentTopic also
can be removed).
Non-Persistent topics don't provide data persistent or dispatch guarantee
and it's by design so, let's not try to change semantics of non-persistent
topic and there could be data loss in non-persistent topic.

> And the Non-durable subscriptions will be removed automatically after all
the consumers disconnected, it's the existing logic.
Why can't we do this in the existing NonPersistent Subscription? I really
don't understand the purpose of this PIP?

Thanks,
Rajan

On Sun, Feb 12, 2023 at 10:56 PM Jiuming Tao <jm...@streamnative.io.invalid>
wrote:

> Hi all,
>
> I would like to start a VOTE on `PIP-245: Make subscriptions of
> non-persistent topic non-durable`.
>
> Motivation:
>
> There are two types of subscriptions for a topic: Durable and Non-durable.
>
> We create a Consumer with a Durable subscription and a Reader with a
> Non-durable subscription.
>
> But for NonPersistentTopic, creating a Durable subscription is
> meaningless, NonPersistentSubscription doesn't have a ManagedCursor to
> persistent its data. After its consumer disconnected, the subscription
> couldn't be removed automatically if we didn't set the value of
> subscriptionExpirationTimeMinutes greater than 0.
>
> For subscriptionExpirationTimeMinutes, it controls the subscription
> expiration of NonPersistentTopic and PersistentTopic, if we set the value
> of subscriptionExpirationTimeMinutes greater than 0, it may lead to data
> loss(The durable subscriptions of PersistentTopic also can be removed).
>
> And the Non-durable subscriptions will be removed automatically after all
> the consumers disconnected, it's the existing logic.
>
> For the purpose of removing the subscriptions which have no active
> consumers of NonPersistentTopic and the above reasons, we can make all the
> subscriptions of a NonPersistentTopic Non-durable.
>
>
>
> For more details, you can read:
> https://github.com/apache/pulsar/issues/19448 <
> https://github.com/apache/pulsar/issues/19448>
>
> And the discuss thread is available at:
> https://lists.apache.org/thread/2ltmyglnb25jy8nk58twkwbglws43bst <
> https://lists.apache.org/thread/2ltmyglnb25jy8nk58twkwbglws43bst>
>
> Thanks,
> Tao Jiuming

Reply via email to