Jon Harper created AMQ-7042:
-------------------------------

             Summary: reduce number of retries when nonBlockingRedelivery is 
true
                 Key: AMQ-7042
                 URL: https://issues.apache.org/jira/browse/AMQ-7042
             Project: ActiveMQ
          Issue Type: New Feature
            Reporter: Jon Harper


It might be useful to have a global redelivery delay that is to reduce the 
number of retries in the case of a sporadic failures that affects all messages. 
This way you would have the following sequence of events where F means a 
failure and S success
{noformat}
# with separate redelivery times
FFFFF     FFFFF          FFFFF                    SSSSS
# with initial redelivery replaced by a global value
FFFFF     F              F                        SSSSS
#         ^ first msg    |                        |
#                        ^ second msg             |
#                                                 ^ msg 3,4,5,1,2
{noformat}
But this means that the redelivery time of a message can not be computed at the 
time the message is handled (because for example this would reschedule the 5th 
message in a very long time immediatly). Instead, you either have to implement 
a mechanism to retry messages before their schedule, or schedule messages like 
in the first case and then if the last message was rollbacked, don't process 
them and reschedule according to the global time.

Note that due to AMQ-5730, the current system (at least until activemq 5.15.5) 
is broken and has the following behavior:
{noformat}
# buggy behavior until at least actiemq 3.15.5
FFFFF     F           F                    F     |   
#         ^ first msg |                          |
#                     ^ second msg               |
#                                                ^ would work here
# the next messages have been scheduled in a very long time
# even though the failure period was really short
# they are basically lost (limited by maxredeliverydelay)  until
# the consumer is stopped and another consumer processes them
{noformat}




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

Reply via email to