Nguyễn Việt Đức created JAMES-3308:
--------------------------------------
Summary: RabbitMQ deserialization error handling for the
Distributed Task Manager
Key: JAMES-3308
URL: https://issues.apache.org/jira/browse/JAMES-3308
Project: James Server
Issue Type: Improvement
Reporter: Nguyễn Việt Đức
A non deserializable message caused the entire MailQueue processing to crash.
Solved this by doing an explicit nack on such messages, relying on RabbitMQ
dead-letter exchanges to not loose data. The messqge is thus effectively
ignored.
Following this, we need to further investigate RabbitMQ related code and
evaluate if there is similar issues.
We need to evaluate the impact on the RabbitMQ code for the distributed task
manager.
Acceptance criteria
If a message cannot be deserialized, following legitimate events can still
be processed.
Discarded messages are stored in a dead-letter queue and not lost
Both job submission and cancellation needs to be tested
Definition of done
Write tests to reproduce the issue and the expected behaviour
Implement the fix leveraging dead-letter and nack
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]