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 C60E2112A4 for ; Tue, 15 Jul 2014 18:08:05 +0000 (UTC) Received: (qmail 69102 invoked by uid 500); 15 Jul 2014 18:08:05 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 69053 invoked by uid 500); 15 Jul 2014 18:08:05 -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 69040 invoked by uid 99); 15 Jul 2014 18:08:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Jul 2014 18:08:05 +0000 Date: Tue, 15 Jul 2014 18:08:05 +0000 (UTC) From: "Timothy Bish (JIRA)" To: dev@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (AMQ-5274) Stuck messages and CPU churn when aborted transacted message expires 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-5274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Timothy Bish updated AMQ-5274: ------------------------------ Attachment: AMQ5274Test.java Attempted to create test to reproduce could not find any problems with this or the provided test against 5.11-SNAPSHOT. > Stuck messages and CPU churn when aborted transacted message expires > -------------------------------------------------------------------- > > Key: AMQ-5274 > URL: https://issues.apache.org/jira/browse/AMQ-5274 > Project: ActiveMQ > Issue Type: Bug > Affects Versions: 5.8.0, 5.9.0, 5.9.1, 5.10.0 > Environment: win64, RHEL11 > Reporter: Yannick Malins > Priority: Critical > Attachments: AMQ-5274.zip, AMQ5274Test.java, logs_extract.txt > > > The test case is a simple producer/consumer: > Producer: 20 messages are injected, with a timeout of 10s. > Consumer: The redelivery policy is set to 0 retries (the issue exists with other values). The consumer uses transactions and throws a runtime exception on each message received. > queue stats show 20 enqueue, 19 dequeue, 1 pending > DLQ stat show 20 enqueue: all 20 messages go to DLQ, IDs ending in 1-10 for failing, 11-20 for expiry (approx) > the pending item (ID ending in 10) is a "ghost message" , and remains stuck indefinitely in queue.test > if you browse, the message is not shown > A) if you restart the broker, after a short while the message is cleaned: > jvm 1 | WARN | Duplicate message add attempt rejected. Destination: QUEUE://ActiveMQ.DLQ, Message id: ID:REDACTED-52872-1405079629779-1:1:1:1:10 > jvm 1 | WARN | org.apache.activemq.broker.region.cursors.QueueStorePrefetch@5b427f3c:ActiveMQ.DLQ,batchResetNeeded=false,storeHasMessages=true,size=0,cacheEnabled=true,maxBatchSize:20,hasSpace:tru > e - cursor got duplicate: ID:REDACTED--52872-1405079629779-1:1:1:1:10, 4 > jvm 1 | WARN | duplicate message from store ID:REDACTED--52872-1405079629779-1:1:1:1:10, redirecting for dlq processing > B) if you purge, ActiveMQ logs a warning: "WARN | queue://queue.test after purge complete, message count stats report: 1" > the queue is marked as being empty. > however if you restart the broker, the message re-appears shorty, before being cleaned as above > > > SUPPLEMENTARY: with activeMQ 5.9.0 and above , if you run the injection several times, the CPU usage of ActiveMQ climbs drastically until the queue is purged. -- This message was sent by Atlassian JIRA (v6.2#6252)