[jira] [Commented] (JAMES-3687) Implements Apache Pulsar based Mailqueue

2023-09-28 Thread Benoit Tellier (Jira)


[ 
https://issues.apache.org/jira/browse/JAMES-3687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17770301#comment-17770301
 ] 

Benoit Tellier commented on JAMES-3687:
---

+1

> Implements Apache Pulsar based Mailqueue
> 
>
> Key: JAMES-3687
> URL: https://issues.apache.org/jira/browse/JAMES-3687
> Project: James Server
>  Issue Type: Sub-task
>  Components: Queue
>Reporter: Jean Helou
>Priority: Major
>  Time Spent: 4h 10m
>  Remaining Estimate: 0h
>
> An apache pulsar based mailqueue offers a different set of compromises over 
> the existing mailqueue implementations:
> pros:
>  * pulsar is a distributed queue
>  * pulsar offers scheduling facilities making it easier to implement delayed 
> queues
> cons:
>  * being fully distributed some consistency guarantees cannot be honored for 
> flush and filter since the flushing and filtering commands take time to 
> propagate in the cluster



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



[jira] [Commented] (JAMES-3687) Implements Apache Pulsar based Mailqueue

2023-09-28 Thread Matthieu Baechler (Jira)


[ 
https://issues.apache.org/jira/browse/JAMES-3687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17770237#comment-17770237
 ] 

Matthieu Baechler commented on JAMES-3687:
--

I would like to treat this last issue in another task. There's already 
https://issues.apache.org/jira/browse/JAMES-3696 to track that if I understand 
correctly.

Could we close this ticket?

> Implements Apache Pulsar based Mailqueue
> 
>
> Key: JAMES-3687
> URL: https://issues.apache.org/jira/browse/JAMES-3687
> Project: James Server
>  Issue Type: Sub-task
>  Components: Queue
>Reporter: Jean Helou
>Priority: Major
>  Time Spent: 4h 10m
>  Remaining Estimate: 0h
>
> An apache pulsar based mailqueue offers a different set of compromises over 
> the existing mailqueue implementations:
> pros:
>  * pulsar is a distributed queue
>  * pulsar offers scheduling facilities making it easier to implement delayed 
> queues
> cons:
>  * being fully distributed some consistency guarantees cannot be honored for 
> flush and filter since the flushing and filtering commands take time to 
> propagate in the cluster



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



[jira] [Commented] (JAMES-3687) Implements Apache Pulsar based Mailqueue

2022-01-11 Thread Jean Helou (Jira)


[ 
https://issues.apache.org/jira/browse/JAMES-3687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17472650#comment-17472650
 ] 

Jean Helou commented on JAMES-3687:
---

all these already have a wait time built in to account for the eventual 
consistency  of remove

 
 * verride public void awaitRemove() \{ try { Thread.sleep(100); } catch (
 * InterruptedException e) \{ throw new RuntimeException(e); } }

However as usual with fixed wait time maybe this is too short. There is no API 
to observe applicable delete filters and I'm not sure it's a good idea. 
Two options here:

 
 * derive the wait time from ENV defaulting to 100ms, so the 100 can be 
overriden for CI
 * change all the tests assertions to use Awaitility... and wait for eventual 
consistency

> Implements Apache Pulsar based Mailqueue
> 
>
> Key: JAMES-3687
> URL: https://issues.apache.org/jira/browse/JAMES-3687
> Project: James Server
>  Issue Type: Sub-task
>  Components: Queue
>Reporter: Jean Helou
>Priority: Major
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> An apache pulsar based mailqueue offers a different set of compromises over 
> the existing mailqueue implementations:
> pros:
>  * pulsar is a distributed queue
>  * pulsar offers scheduling facilities making it easier to implement delayed 
> queues
> cons:
>  * being fully distributed some consistency guarantees cannot be honored for 
> flush and filter since the flushing and filtering commands take time to 
> propagate in the cluster



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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



[jira] [Commented] (JAMES-3687) Implements Apache Pulsar based Mailqueue

2022-01-09 Thread Benoit Tellier (Jira)


[ 
https://issues.apache.org/jira/browse/JAMES-3687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17471344#comment-17471344
 ] 

Benoit Tellier commented on JAMES-3687:
---

https://ci-builds.apache.org/job/james/job/ApacheJames/job/PR-826/7/

Pulsar mail queue bringed in some unstable tests


{code:java}
Test Result (4 failures / +4)


org.apache.james.queue.pulsar.PulsarMailQueueTest.removeByRecipientShouldRemoveSpecificEmail

org.apache.james.queue.pulsar.PulsarMailQueueTest.removeByRecipientShouldRemoveSpecificEmailWhenMultipleRecipients{List,
 MailAddress}[5]

org.apache.james.queue.pulsar.PulsarMailQueueTest.removeByRecipientShouldRemoveSpecificEmailWhenMultipleRecipients{List,
 MailAddress}[6]

org.apache.james.queue.pulsar.PulsarMailQueueTest.removeShouldRemoveMailFromStoreWhenFilteredOut
{code}


> Implements Apache Pulsar based Mailqueue
> 
>
> Key: JAMES-3687
> URL: https://issues.apache.org/jira/browse/JAMES-3687
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue
>Reporter: Jean Helou
>Priority: Major
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> An apache pulsar based mailqueue offers a different set of compromises over 
> the existing mailqueue implementations:
> pros:
>  * pulsar is a distributed queue
>  * pulsar offers scheduling facilities making it easier to implement delayed 
> queues
> cons:
>  * being fully distributed some consistency guarantees cannot be honored for 
> flush and filter since the flushing and filtering commands take time to 
> propagate in the cluster



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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



[jira] [Commented] (JAMES-3687) Implements Apache Pulsar based Mailqueue

2022-01-07 Thread Benoit Tellier (Jira)


[ 
https://issues.apache.org/jira/browse/JAMES-3687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17470546#comment-17470546
 ] 

Benoit Tellier commented on JAMES-3687:
---

Also I tried putting an ADR for this.

Review welcomed... https://github.com/apache/james-project/pull/829

> Implements Apache Pulsar based Mailqueue
> 
>
> Key: JAMES-3687
> URL: https://issues.apache.org/jira/browse/JAMES-3687
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue
>Reporter: Jean Helou
>Priority: Major
>
> An apache pulsar based mailqueue offers a different set of compromises over 
> the existing mailqueue implementations:
> pros:
>  * pulsar is a distributed queue
>  * pulsar offers scheduling facilities making it easier to implement delayed 
> queues
> cons:
>  * being fully distributed some consistency guarantees cannot be honored for 
> flush and filter since the flushing and filtering commands take time to 
> propagate in the cluster



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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



[jira] [Commented] (JAMES-3687) Implements Apache Pulsar based Mailqueue

2022-01-07 Thread Benoit Tellier (Jira)


[ 
https://issues.apache.org/jira/browse/JAMES-3687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17470544#comment-17470544
 ] 

Benoit Tellier commented on JAMES-3687:
---

Potential bugs of the current proposal that might need to be addressed:

https://github.com/apache/james-project/pull/808#discussion_r780162174


{code:java}
Clear need to also apply to delayed messages.
We need to make this constraint explicit in the underlying contract tests.
We likely need to clear too the scheduled topic
{code}

Likely super easy to fix.

https://github.com/apache/james-project/pull/808#discussion_r780170243


{code:java}
Clearing expired filters is an optimisation relying on messages being ordered.

Out of order messages, like delayed messages, might make this trivially false.

We could benefit from a test demonstrating the issue. (contract test)

We might have to drop this optimisation.
{code}

Easy to solve.

Impact: ever growing set of deletions...


> Implements Apache Pulsar based Mailqueue
> 
>
> Key: JAMES-3687
> URL: https://issues.apache.org/jira/browse/JAMES-3687
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue
>Reporter: Jean Helou
>Priority: Major
>
> An apache pulsar based mailqueue offers a different set of compromises over 
> the existing mailqueue implementations:
> pros:
>  * pulsar is a distributed queue
>  * pulsar offers scheduling facilities making it easier to implement delayed 
> queues
> cons:
>  * being fully distributed some consistency guarantees cannot be honored for 
> flush and filter since the flushing and filtering commands take time to 
> propagate in the cluster



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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