activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4550) Allow messages scheduled for retry by the broker to be sent post-restart if the broker is not running at the jobs scheduled time
Date Wed, 22 May 2013 18:17:20 GMT

    [ https://issues.apache.org/jira/browse/AMQ-4550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13664369#comment-13664369
] 

Timothy Bish commented on AMQ-4550:
-----------------------------------

Would be good to create a unit test for this case.  Also think about how to mark Messages
that are scheduled as being required to fire on restart even if scheduled time has passed.
 If we just fire them we could run into cases like you do with the Timer class where you can
end up with a large bunching of events so we should allow for optional past due dispatch.
                
> Allow messages scheduled for retry by the broker to be sent post-restart if the broker
is not running at the jobs scheduled time
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-4550
>                 URL: https://issues.apache.org/jira/browse/AMQ-4550
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Broker
>    Affects Versions: 5.8.0
>            Reporter: Andrew Boese
>              Labels: scheduler
>
> In the current implementation, it appears that messages scheduled for retry by the broker
may be lost if the broker is not running at the time the job is scheduled to execute.  If,
for example, a message fails and is scheduled for retry at 1:30, with a 5 minute delay, the
job will be scheduled to execute at 1:35. If the broker is running at 1:35, whether continuously
or after a restart, the job will execute as expected and the message will arrive at the specified
target destination.  However, if the broker is shutdown before the scheduled time and then
started again after that time, say at 1:40, the message appears to be discarded and is not
sent.  The same behavior appears to apply as well to messages sent originally with a delay.
> This may result in loss of a message that needed to be processed.  While there may be
scenarios where precise execution time of a job is critical (i.e. a job scheduled for 1:35
should not run at any time other than 1:35), it is also possible, and in the case of retries
probably likely, that the job should execute regardless.  Message loss is generally "bad"
and it would likely be preferable that the retried message be sent at the scheduled time or
the next available opportunity in the case of a broker that is not running at the scheduled
time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message