tmail-backend
tmail-backend copied to clipboard
[S3 reliability] Partial error handling
After completing the previous task (cf #1198 ), you will need to change the behavior of partial failure case to handle retries with a RabbitMQ queue.
GIVEN we parallely write to blobStoreA and blobStoreB
WHEN write on blobStoreA succeeds and write on blobStoreB fails (or the reverse)
THEN we publish a message on RabbitMQ to retry the write operation later
AND the write succeeds
This means we need to set up a RabbitMQ queue to retry failed writes. The listener of the queue would then asynchronously read blobStoreA to complete the write on blobStoreB.
Definition of done:
- Integration tests