Today given e.g. RabbitMQ is down, EventBus can not dispatch the event to RabbitMQ, and it would persist the event into dead letter (in the database).
Today even when stored the event in dead letter, EventBus still propagates the error back and fails the IMAP APPEND or IMAP STORE for example (while the mail is stored and just Added event has not been processed yet while being in dead letters).
Given today we are more or less robust on auto reprocessing the failed event (from event dead letters), we could consider not propagating the error back and failing the original call.
How
Add a boolean configuration entry in rabbitmq.properties to enable/disable EventBus error propagation upon storing failed events in dead letters.
Why
Today given e.g. RabbitMQ is down, EventBus can not dispatch the event to RabbitMQ, and it would persist the event into dead letter (in the database).
Today even when stored the event in dead letter, EventBus still propagates the error back and fails the IMAP APPEND or IMAP STORE for example (while the mail is stored and just Added event has not been processed yet while being in dead letters).
Given today we are more or less robust on auto reprocessing the failed event (from event dead letters), we could consider not propagating the error back and failing the original call.
How
Add a boolean configuration entry in
rabbitmq.properties
to enable/disable EventBus error propagation upon storing failed events in dead letters.