[ 
https://issues.apache.org/jira/browse/JAMES-4064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean Helou updated JAMES-4064:
------------------------------
    Component/s: pulsar
                 Queue

> Mailqueue filters should not use durable subscriptions
> ------------------------------------------------------
>
>                 Key: JAMES-4064
>                 URL: https://issues.apache.org/jira/browse/JAMES-4064
>             Project: James Server
>          Issue Type: Sub-task
>          Components: pulsar, Queue
>            Reporter: Jean Helou
>            Priority: Major
>
> Removal in a distributed system requires a way to distribute the filters to 
> the various instances of the mailqueue. This was implemented by pushing 
> filters in a dedicated pulsar topic.
>  
> Since each instance needs to read the topic from the start to compile all the 
> filters, it is necessary to have unique names for an exclusive subscription 
> (see 
> [https://pulsar.apache.org/docs/3.3.x/concepts-messaging/#subscriptions)] 
> If the instances used a shared subscription they would not receive filters 
> that have already been received by other members of the subscription.
>  
> The current implementation uses Durable subscriptions and the uniqueness of 
> the name is generated by adding an UUID. Unfortunately this means that a 
> server restart will create a new subscription and the previous one will 
> remain forever.
>  
> I recently discovered that pulsar has a limit on the total number of durable 
> subscriptions :D eventually preventing the creation of new ones.
>  
> The filters should be migrated to non durable subscriptions (see 
> [https://pulsar.apache.org/docs/3.3.x/concepts-messaging/#subscription-modes)]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to