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 4AE45964F for ; Thu, 24 Nov 2011 17:08:04 +0000 (UTC) Received: (qmail 55102 invoked by uid 500); 24 Nov 2011 17:08:03 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 55046 invoked by uid 500); 24 Nov 2011 17:08:03 -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 54984 invoked by uid 99); 24 Nov 2011 17:08:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Nov 2011 17:08:03 +0000 X-ASF-Spam-Status: No, hits=-2001.2 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Nov 2011 17:08:01 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 285039C78F for ; Thu, 24 Nov 2011 17:07:40 +0000 (UTC) Date: Thu, 24 Nov 2011 17:07:40 +0000 (UTC) From: "Gary Tully (Issue Comment Edited) (JIRA)" To: dev@activemq.apache.org Message-ID: <2025012230.10259.1322154460166.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <508602340.51121.1320253532241.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Issue Comment Edited] (AMQ-3576) ProducerBrokerExchange last producer sequenceId initialization needs runtime updates to deal with possible duplicate resends MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/AMQ-3576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13143283#comment-13143283 ] Gary Tully edited comment on AMQ-3576 at 11/24/11 5:06 PM: ----------------------------------------------------------- The network connector case needs some special treatment. In a network connector, a single producer resends messages from multiple original producers so a single audit does not make sense as it will depends on sequence order across producers, which is not probable. The solution for network connector producers requires querying the persistence adapter before each send. This will place additional synchronization contention on the store so if duplicates are not a problem it can be disabled. There is a new boolean {{auditNetworkProducers}} attribute on a TransportConnector that toggles the behavior. It defaults to -true- false. Update in: http://svn.apache.org/viewvc?rev=1197203&view=rev was (Author: gtully): The network connector case needs some special treatment. In a network connector, a single producer resends messages from multiple original producers so a single audit does not make sense as it will depends on sequence order across producers, which is not probable. The solution for network connector producers requires querying the persistence adapter before each send. This will place additional synchronization contention on the store so if duplicates are not a problem it can be disabled. There is a new boolean {{auditNetworkProducers}} attribute on a TransportConnector that toggles the behavior. It defaults to true. Update in: http://svn.apache.org/viewvc?rev=1197203&view=rev > ProducerBrokerExchange last producer sequenceId initialization needs runtime updates to deal with possible duplicate resends > ---------------------------------------------------------------------------------------------------------------------------- > > Key: AMQ-3576 > URL: https://issues.apache.org/jira/browse/AMQ-3576 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.5.1 > Environment: failover:(tcp://host:port?soWriteTimeout=500)?jms.useAsyncSend=true&trackMessages=true > Reporter: Gary Tully > Assignee: Gary Tully > Fix For: 5.6.0 > > > Under load, a buffered pending send can be replayed along with a failover replay (writeTimeFilter initiated) which can miss the audit b/c it won't have knowledge of the original send. > The dispatch decision is based on the current stored state at the time of reconnect with the expectation that the next message will not be duplicated. It seems under some load and tcp buffering conditions this is possible to get duplicate sends of new messages. > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira