[ 
https://issues.apache.org/jira/browse/MAILBOX-372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Trần Tiến Đức updated MAILBOX-372:
----------------------------------
    Description: 
MailboxListener should get retried upon exceptions.

Write EventBusContract test to demonstrate MailboxListener get retired. => over 
contract that could be optional contract

Implement this retry logic in the InVmDelivery + RabbitMQ eventbus with a 
hardcoded maxRetry constant + exponential backoff.

 

Then try it with RabbitMQEventBus

 

A timeout on listener execution is more related to at least once/at most once 
delivery concerns of the RabbitMQEventBus
 The event bus should retry upon exceptions, with a max retry + exponential 
backoff. That maxRetries ensures bugs do not trigger infinite loops.
 We need a dead letter equivalent for audit/rescheduling purposes.

  was:
MailboxListener should get retried upon exceptions.

Write EventBusContract test to demonstrate MailboxListener get retired. => over 
contract that could be optional contract

Implement this retry logic in the InVmDelivery + RabbitMQ eventbus with a 
hardcoded maxRetry constant + exponential backoff.

 

A timeout on listener execution is more related to at least once/at most once 
delivery concerns of the RabbitMQEventBus
The event bus should retry upon exceptions, with a max retry + exponential 
backoff. That maxRetries ensures bugs do not trigger infinite loops.
We need a dead letter equivalent for audit/rescheduling purposes.


> EventBus error handling
> -----------------------
>
>                 Key: MAILBOX-372
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-372
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Trần Tiến Đức
>            Priority: Major
>
> MailboxListener should get retried upon exceptions.
> Write EventBusContract test to demonstrate MailboxListener get retired. => 
> over contract that could be optional contract
> Implement this retry logic in the InVmDelivery + RabbitMQ eventbus with a 
> hardcoded maxRetry constant + exponential backoff.
>  
> Then try it with RabbitMQEventBus
>  
> A timeout on listener execution is more related to at least once/at most once 
> delivery concerns of the RabbitMQEventBus
>  The event bus should retry upon exceptions, with a max retry + exponential 
> backoff. That maxRetries ensures bugs do not trigger infinite loops.
>  We need a dead letter equivalent for audit/rescheduling purposes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to