Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 91A4110FFC for ; Thu, 9 Jan 2014 12:23:37 +0000 (UTC) Received: (qmail 11682 invoked by uid 500); 9 Jan 2014 12:23:08 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 11511 invoked by uid 500); 9 Jan 2014 12:22:58 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 11418 invoked by uid 99); 9 Jan 2014 12:22:51 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jan 2014 12:22:51 +0000 Date: Thu, 9 Jan 2014 12:22:51 +0000 (UTC) From: "Gary Tully (JIRA)" To: dev@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (AMQ-4952) When duplicate message occur from network producer, messages blocked by cursor audit are blocked till restart MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13866595#comment-13866595 ] Gary Tully commented on AMQ-4952: --------------------------------- dealt with the audit false case and duplicate in pagedInMessages - now redirecting to DLQ and removing from the store in that case also http://git-wip-us.apache.org/repos/asf/activemq/commit/cc47ab6d JDBC store does not have a separate index to trap the duplicate that is still inflight. Also, cursor audit window may be too small for some use cases. If there is a valid usecase where duplicates are acceptable we can revisit but all tests currently pass with the change that 'outlaws' and deals with duplicates. > When duplicate message occur from network producer, messages blocked by cursor audit are blocked till restart > ------------------------------------------------------------------------------------------------------------- > > Key: AMQ-4952 > URL: https://issues.apache.org/jira/browse/AMQ-4952 > Project: ActiveMQ > Issue Type: Bug > Components: Message Store > Affects Versions: 5.9.0 > Reporter: Gary Tully > Assignee: Gary Tully > Labels: duplicate, network, stuck > Fix For: 5.10.0 > > > If auditNetworkProducers is off (as it is by default) a reforward (because of a missing send reply) will be a duplicate. > If the initial messages is still in the store the duplicate will be trapped by the message cursor but the message remains in the store. So on a restart the cursor is fresh (unless in the case of jdbc when there are still messages in the store) and the message gets redispatched. In the jdbc case - if the store/destination is empty there will be a resend b/c there is no sequence state to replay. > Duplicates detected by the cursor need to deal with the duplicate message - moving to the DLQ makes the most sense - the cause can indicate the reason to allow separation from poison due to redelivery failure. > Client duplicate detection currently uses a poison ack, so this makes the behaviour consistent. -- This message was sent by Atlassian JIRA (v6.1.5#6160)