[
https://issues.apache.org/jira/browse/AMQ-6133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15221961#comment-15221961
]
ASF subversion and git services commented on AMQ-6133:
------------------------------------------------------
Commit 8393e6b8ea6cb9953f54cec80df46b8c181c7e7f in activemq's branch
refs/heads/activemq-5.13.x from [~cshannon]
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=8393e6b ]
https://issues.apache.org/jira/browse/AMQ-6133
Disabling async queue message store when persistJMSRedelivered is turned
on for a destination. That flag will cause a sync update later on
dispatch which can cause a race condition if the original message add is
processed after the update. This can cause a duplicate message to be
stored.
(cherry picked from commit b2327db3b79dffd42fd5c6ba85720a5d9c302052)
> Message updates can cause message loss on recovery
> --------------------------------------------------
>
> Key: AMQ-6133
> URL: https://issues.apache.org/jira/browse/AMQ-6133
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, KahaDB
> Affects Versions: 5.13.0
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
> Fix For: 5.13.1, 5.14.0
>
> Attachments: AMQ6133PersistJMSRedeliveryTest.java, AMQ6133Test.java
>
>
> After doing some testing with AMQ-6131, I noticed a similar issue where
> messages can be lost if a message update is called.
> Normally when KahaDB gets a KahaUpdateMessageCommand it will update the index
> with the new location. This works except that if the index is deleted or
> corrupted and needs to be rebuilt, the replay process may not be able to
> recover the message.
> This happens because after the message is updated, KahaDB is free to garbage
> collect the file with the original add command. So, whatt happens is that
> during replay when the update command is seen KahaDB rejects it because it
> can't find the original message if that file has been GC'd. This happens in
> the updateIndex method of MessageDatabase on line 1395 where it prints out a
> warning saying "Non existent message update attempt rejected".
> I am attaching a unit test that demonstrates the issue where the count after
> restart is missing messages.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)