From users-return-51624-archive-asf-public=cust-asf.ponee.io@activemq.apache.org Wed Jul 3 21:44:03 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 7584F180181 for ; Wed, 3 Jul 2019 23:44:03 +0200 (CEST) Received: (qmail 98108 invoked by uid 500); 3 Jul 2019 21:44:02 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 98097 invoked by uid 99); 3 Jul 2019 21:44:01 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jul 2019 21:44:01 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id F00A9180AB9 for ; Wed, 3 Jul 2019 21:44:00 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.073 X-Spam-Level: * X-Spam-Status: No, score=1.073 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_SOFTFAIL=0.972, URIBL_BLOCKED=0.001, URI_HEX=0.1, URI_TRY_3LD=0.001] autolearn=disabled Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 5ehUtbwRgX7C for ; Wed, 3 Jul 2019 21:43:59 +0000 (UTC) Received-SPF: Softfail (mailfrom) identity=mailfrom; client-ip=199.38.86.66; helo=n4.nabble.com; envelope-from=mschmeiser@sasktel.net; receiver= Received: from n4.nabble.com (n4.nabble.com [199.38.86.66]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTP id EDEB4BC52B for ; Wed, 3 Jul 2019 21:43:58 +0000 (UTC) Received: from n4.nabble.com (localhost [127.0.0.1]) by n4.nabble.com (Postfix) with ESMTP id 9F34199BB7CC for ; Wed, 3 Jul 2019 16:43:58 -0500 (CDT) Date: Wed, 3 Jul 2019 16:43:58 -0500 (CDT) From: mschmeiser To: users@activemq.apache.org Message-ID: <1562190238619-0.post@n4.nabble.com> Subject: AMQ 224038 on Last Value Queue MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello I am getting an error "AMQ224039: Failed to ack old reference: java.lang.IllegalStateException: Cannot find add info 5698 on compactor or current records" after every publish of a message to a Last Value Queue except the first time. I am on ActiveMQ Artemis 2.8.1. I know there's a more recent version but checked the release notes and none of the bug fixes looked like they'd be relevant to this. I'm not working with a deployment-ready system yet, this is very early stage prototyping. I have a single broker with the basic configuration, I'm basically running things 'out of the box'. The java code that I'm using looks something like: *** ActiveMQQueue destination = ActiveMQQueue.createQueue(subject + "?last-value-key=LVK&non-destructive=true"); MessageProducer producer = session.createProducer(destination); TextMessage message = session.createTextMessage("test object"); message.setStringProperty("LVK", "foo"); Thread.sleep(500); session.createConsumer(destination, "LVK = 'foo'").setMessageListener(m -> processMessage(m)); Thread.sleep(500); message = session.createTextMessage("test object 2"); message.setStringProperty("LVK", "foo"); producer.send(message); Thread.sleep(500); session.createConsumer(destination, "LVK = 'foo'").setMessageListener(m -> processMessage(m)); *** The first time this code is run, I only get the error when the message is sent the second time. After that, the error happens twice per run. If I go into the broker console and purge the queue, then the first message send works fine, error is thrown every subsequent time. The stack trace (I'm not able to copy/paste from my development environment) looks like: JournalImpl.checkKnownRecordID(JournalImpl.java:1074) JournalImpl.appendUpdateRecord(JournalImpl.java:881) Journal.appendUpdateRecord(Journal.java:98) AbstractJournalStorageManager.storeAcknowledge(AbstractJournalStorageManager.java:425) QueueImpl.acknowledge(QueueImpl.java:1533) LastValueQueue.acknowledge(MessageReferenceImpl.java:235) MessageReferenceImpl.acknowledge(MessageReferenceImpl.java:235) LastValueQueue.replaceLVQMessage(LastValueQueue.java:172) LastValueQueue.addTail(LastValueQueue.java:107) ... Tracing it back that far, it looks like the failed acknowledge shouldn't cause major problems for the functionality of the system. The code is all executing as you'd expect it to and the queue on the broker always has the expected message in it. The error is still a concern though simply as a matter of performance - scalability is a concern for me and the overhead of logging a bunch of errors would be a problem. Let me know if there's any other information I can provide that could help diagnose this issue. Thanks, Matt -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html