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 "Nguyễn Việt Đức (Jira)" <se...@james.apache.org> on 2020/07/15 08:55:00 UTC

[jira] [Created] (JAMES-3308) RabbitMQ deserialization error handling for the Distributed Task Manager

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