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 <btell...@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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org