You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/12/10 02:30:07 UTC

[james-project] 04/27: JAMES-2979 Architecture Decision Record: Deprecate FileMailQueue

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 16265ce86d68dc52e5cf0dc318f2e251e71159c0
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Dec 4 14:24:42 2019 +0700

    JAMES-2979 Architecture Decision Record: Deprecate FileMailQueue
---
 src/adr/0017-file-mail-queue-deprecation.md | 44 +++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/src/adr/0017-file-mail-queue-deprecation.md b/src/adr/0017-file-mail-queue-deprecation.md
new file mode 100644
index 0000000..e51e12f
--- /dev/null
+++ b/src/adr/0017-file-mail-queue-deprecation.md
@@ -0,0 +1,44 @@
+# 15. FileMailQueue deprecation
+
+Date: 2019-12-04
+
+## Status
+
+Proposed
+
+## Context
+
+James offers several implementation for MailQueue, a component allowing asynchronous mail processing upon smtp mail 
+reception. These includes:
+ - Default embedded ActiveMQ mail queue implementation, leveraging the JMS APIs and using the filesystem.
+ - RabbitMQMailQueue allowing several James instances to share their MailQueue content.
+ - And FileMailQueue directly leveraging the file system.
+
+We introduced a junit5 test contract regarding management features, concurrency issues, and FileMailQueue do not meet this 
+contract. This results in some tests being disabled and in an unstable test suite.
+
+FileMailQueue tries to implement a message queue within James code, which does not really makes sense as some other projects
+already provides one.
+
+## Decision
+
+Deprecate FileMailQueue components.
+
+Disable FileMailQueue tests.
+
+Target a removal as part of 3.6.0.
+
+## Consequences
+
+FileMailQueue is not exposed to the end user, be it over Spring or Guice, the impact of this deprecation + removal should
+be limited.
+
+We also expect our test suite to be more stable.
+
+## Reference
+
+Issues listing FileMailQueue defects:
+
+ - https://issues.apache.org/jira/browse/JAMES-2298 Unsupported remove management feature
+ - https://issues.apache.org/jira/browse/JAMES-2954 Incomplete browse implementation + Mixing concurrent operation might lead to a deadlock and missing fields
+ - https://issues.apache.org/jira/browse/JAMES-2979 dequeue is not thread safe


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