activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Szymon Jachim (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-6368) Non-blocking redelivery does not calculate exponential delivery properly
Date Wed, 20 Jul 2016 11:37:20 GMT

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

Szymon Jachim updated AMQ-6368:
-------------------------------
    Description: 
Non-blocking redelivery does not calculate exponential delivery properly when retries of delivery
are interspersed with (successful) deliveries of other mes sages. 

This is caused by the fact that last redelivery delay is stored in a field and is overwritten
delivery of other messages. A possible fix is that redelivery delay can be calculated each
time by simply doing multiplications in a loop (as it is done in broker) or using mathematical
exponent function. At the same time redelivery count can not be a single field but an array
with a counter per each message waiting for client side non-blocking redelivery.

I can provide a patch for this and a unit tests.

  was:
Non-blocking redelivery does not calculate exponential delivery properly when retries of delivery
are interspersed with (successful) deliveries of other mes sages. 

This is caused by the fact that last redelivery delay is stored in a field and is overwritten
delivery of other messages. A possible fix is that redelivery delay can be calculated each
time by simply doing multiplications in a loop (as it is done in broker) or using mathematical
exponent function. At the same time redelivery count can not be a single field but an array
with a counter per each message waiting for client side non-blocking redelivery.

I can provide a patch for this and a unit tests.

Related to: AMQ-3597 AMQ-1853


> Non-blocking redelivery does not calculate exponential delivery properly
> ------------------------------------------------------------------------
>
>                 Key: AMQ-6368
>                 URL: https://issues.apache.org/jira/browse/AMQ-6368
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.13.3
>            Reporter: Szymon Jachim
>
> Non-blocking redelivery does not calculate exponential delivery properly when retries
of delivery are interspersed with (successful) deliveries of other mes sages. 
> This is caused by the fact that last redelivery delay is stored in a field and is overwritten
delivery of other messages. A possible fix is that redelivery delay can be calculated each
time by simply doing multiplications in a loop (as it is done in broker) or using mathematical
exponent function. At the same time redelivery count can not be a single field but an array
with a counter per each message waiting for client side non-blocking redelivery.
> I can provide a patch for this and a unit tests.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message