nodece commented on PR #23770:
URL: https://github.com/apache/pulsar/pull/23770#issuecomment-2673904807

   @lhotari 
   
   This is an important section: 
https://github.com/apache/pulsar/pull/23770/files#diff-67fc7a48cc071911c2239d1c628335d4147f54345051f36efd2f18dbcc8339c6R110
   
   Since the consumer enables the subscription replication when the 
`replicateSubscriptionState` is true in the consumer level. Prioritizing `true` 
over `false` ensures consistency, this approach should be applied to topic, 
namespace, and broker as well. By doing so, we can avoid unnecessary 
back-and-forth state changes and maintain smoother transitions.
   
   1. If the consumer level is present and its value is `true`, enable 
subscription replication.
   2. If the consumer level is `false`, and the topic level is present with its 
value set to `true`, enable subscription replication.
   3. If the consumer level is `false`, the topic level is not set, but the 
namespace level is present and its value is `true`, enable subscription 
replication.
   4. If the consumer level is `false`, and both the topic and namespace levels 
are not set, but the broker level is present with its value set to `true`, 
enable subscription replication.
   
   > I haven't seen the APIs being updated to have this information in the 
policies. I don't think that introducing a completely separate concept for 
topic and namespace level makes sense.
   
   The `replicateSubscriptionState` follows hierarchy topic policies, with the 
difference being that we only apply topic/namespace/broker policy to 
subscription when the consumer level is false.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to