lhotari commented on PR #23907:
URL: https://github.com/apache/pulsar/pull/23907#issuecomment-2623934271

   > When the cancellation messages are stored in the topic, cancellation would 
only work when the DelayedDeliveryTracker state is such that it has "indexed" 
the delayed messages and the cancellation messages. For example, the 
InMemoryDelayedDeliveryTracker keeps state only in memory. The impact of the 
cancellation commands in the topic would be that before delivering any 
scheduled message, the state would have to be caught up before delivering a 
scheduled message. This is just a first thought about the possible impact of 
supporting cancellation. Due to such performance impacting details, it's more 
likely that this type of cancellation support would have to be enabled for a 
namespace or topic explicitly.
   
   Not directly related, but contains some details about the current delayed 
delivery tracker solution: #23912 . 
   For the `BucketDelayedDeliveryTracker`, it could be feasible to add the 
cancellation support since it keeps persistent state. However, the challenge 
that the cancellation commands might not be processed while making delayed 
message delivery decisions remains. It seems that some sort of RPC would be 
needed and storing the cancellation commands directly in the 
BucketDelayedDeliveryTracker persistence solution could be feasible. For the 
InMemoryDelayedDeliveryTracker, I don't think that it would be feasible to add 
support for cancellation at all since based on my initial analysis, I don't 
think that it makes sense to store the cancellation state in the topic itself 
due to the problems with unprocessed cancellation commands while making 
delivery decisions.


-- 
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