You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2010/11/02 14:09:01 UTC

[jira] Commented: (AMQ-2584) Massege store is not cleaned when durable topic subscribers are refusing messages

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

Gary Tully commented on AMQ-2584:
---------------------------------

Final resolution is to suppress duplicate dispatch to the DLQ at source, in the DeadLetterStrategy implementation by having it keep an audit. In this way, only one copy of a message is dispatched to the DLQ, irrespective of how many durable consumers reject the message. AMQ-3003 will help with that.
Most duplicates are trapped by the store, but when the store has already acked the original, it can get through, the potential problem is the pending cursor of messages to dispatch. When concurrent with store, this can result in a missed dispatch and a subsequent missing ack leaving a dangling message.
Suppressing the duplicate send in the deadletter strategy removes this possibility.
Fix in r1030013

> Massege store is not cleaned when durable topic subscribers are refusing messages 
> ----------------------------------------------------------------------------------
>
>                 Key: AMQ-2584
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2584
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.3.0, 5.3.1, 5.4.0
>         Environment: WinXP,
> java version "1.6.0_05"
> Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
> Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
>            Reporter: Juraj Kuruc
>            Assignee: Gary Tully
>             Fix For: 5.5.0
>
>         Attachments: 2584_test.zip, AMQ2584Test.java, AMQ2584Test.java, UpdatedTestCase.patch
>
>
> Hi,
> i am using activemq 5.3 (resp. 5.4 snapshot , 5.3.1 snapshot) with kahadb in following use-case:
> - 3 durable topic subscriber, each refuses message using session.recover(), 1 delivery attempts
> - ActiveMQ.DLQ consumer
> - persistent message topic producer
> In such case deadletter consumer should consume every message sent, as soon as number of delivery attempts is reached and mmessage is sent to ActiveMQ.DLQ. Result is ok but kahadb data directory at the end contains all log files with names db-<number>.log ever created. They aren't deleted even after some time.
> I can also see following massege in console:
> WARN | Duplicate message add attempt rejected. Message id: ID:sk1d069c-3826-1264006781626
> -0:0:1:1:13425
> If use-case is altered to use queue instead of topic log files are periodically deleted without WARN messages in console.
> Same behaviour (data files not cleaned) if amqPersistenceAdapter is used except of WARN messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.