> 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