From users-return-49934-archive-asf-public=cust-asf.ponee.io@activemq.apache.org Mon Apr 30 23:57:43 2018 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 [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 9C93B180675 for ; Mon, 30 Apr 2018 23:57:42 +0200 (CEST) Received: (qmail 44950 invoked by uid 500); 30 Apr 2018 21:57:41 -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 44714 invoked by uid 99); 30 Apr 2018 21:57:40 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Apr 2018 21:57:40 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 50BD2C0118 for ; Mon, 30 Apr 2018 21:57:40 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.899 X-Spam-Level: * X-Spam-Status: No, score=1.899 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id se-5MtNivaYS for ; Mon, 30 Apr 2018 21:57:37 +0000 (UTC) Received: from mail-pf0-f177.google.com (mail-pf0-f177.google.com [209.85.192.177]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 097C95F2AA for ; Mon, 30 Apr 2018 21:57:37 +0000 (UTC) Received: by mail-pf0-f177.google.com with SMTP id z9so7764700pfe.6 for ; Mon, 30 Apr 2018 14:57:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=9GNeKwfhYla6/wZqRsKXtRphPx/GtPKGX2c6C8TyiHw=; b=hfpNOkEnnRZBXgTYrOy5Z/Eupg40IsUH0MYnTIhKGIePMGd70c4T7RNFgGZjGN8bwK 1TCAp/YixYDqmUB7WeBdkS+bxNsH3zAvvDr5WZleY69y3pj97d3elRb7pk3apVGsdFfK DNXVe8p7YTTlCziMPw55UGJtvW2Tw1tp3T+tv6fcvKR9FfrVru7dzXG5uFAwCCOM61Jt dUxGdUhrei+PI6pG/Y2t2i35KZJAgSTZvC0Q3kT+koaRK66vVkV5g1vm4YKKI8qCtQ9K OAb4T+tKcYAXum88hrNMrktI41qGazz+WhuhgQZ2O8cj9vcrFkX0Lh7kTsvK8CAiW8oD /S1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=9GNeKwfhYla6/wZqRsKXtRphPx/GtPKGX2c6C8TyiHw=; b=pOfjX6ZJiCPDCzs2rIfrFZNqj9xuvtM/J3jpIYxe0DLx1p2aX9dYumC+eVjr31PK1c iWfnjlrkg3efHSlP0AFZy5smEA1c+AJudmT2vWF+1LaUmRedsYXcH+5IfFUBGTc2tH5x NKaaLb2HoQTuHSNzDr9MS3nPmQ58WpeKe+WjhHOGg/K2P/NouYXA7d/FFPVAhhxCKiy+ 4Y737bDXGCh2ZsgQDwAE13sYgLuuF6AvxQChsBw3Zod5md8whdoRnvNzn/5QvXenzR1P xXmKaoLOiHNv1fNeTJJ0P2Us9Ky4j2NM8RbwWbm6JsAN4F5/ER1xA8rBJeLMDvTzZW/j dpTg== X-Gm-Message-State: ALQs6tDUxt+te6ypimD2bTkj2slKCfj3/tr3+9XB9PuGRwAY8Y0eYQfT Lqzvt2lOSIG9Q2xspqpcAbSbl/XvXMKeOeRuzc7yMA== X-Google-Smtp-Source: AB8JxZokHeUSKoTAT1auMcPYrG1ZS4Qzj/0VDw9gnAFUvEgXBwG99onLmcq03s9aCaKVzT7hSx+D6l+4niPlnBE9j+U= X-Received: by 2002:a17:902:584:: with SMTP id f4-v6mr13748886plf.290.1525125454746; Mon, 30 Apr 2018 14:57:34 -0700 (PDT) MIME-Version: 1.0 From: Dan Langford Date: Mon, 30 Apr 2018 21:57:23 +0000 Message-ID: Subject: [Artemis, AMQP] last-value queue questions: msg-delay To: "users@activemq.apache.org" Content-Type: multipart/alternative; boundary="000000000000f7d7b9056b17f024" --000000000000f7d7b9056b17f024 Content-Type: text/plain; charset="UTF-8" currently using Artemis 2.5.0 and AMQP in our tests question in short: should we be able to use last-value queue and message delay/scheduling together and have scheduled messages be considered as part of the last-value queue features. Some of the teams here have started exploring some interesting things they can do with the broker which seems to be pretty useful but then we hit a couple snags and questions. Using a Last-Value queue we can put a message on the queue and then essentially "change" or "update" the message by producing one with the same value in _AMQ_LVQ_NAME. its really just replacing the old message with the new one but if the new one looks nearly identical it feels like an update to the message. so the team is able to change things like the messages expiration time and the message priority. But the team tried to change the message delay and it didnt work. instead it just scheduled another message. i did some digging and from what i can tell the reason why is because a message delay, or a message scheduled for delivery, is held onto by the broker prior to being placed on the queue and it seems that last-value queue only "works" or "considers" messages that are currently on the queue. Does this seem like an accurate description of our problem? the teams hope was to schedule the message for delivery in a couple days. and then if they needed to change the content or the delivery time they could reproduce the message with the same _AMQ_LVQ_NAME essentially updating the message with a new time. if they wanted to delete the message they could update the message with an immediate expiration. that sounds nice but doesnt seem to function like that. is there a way to "effect" messages that are scheduled at all via JMS? any way to overwrite them like last-value was doing? or any way to delete them or force their expiration via JMS prior to their scheduled delivery time? i do know of one hack or workaround. i know back when rabbit didnt support message delays what we did was put a message in a queue with a message specific expiration. this was our "fermentation" queue. and then when it expired the message was dumped onto a expiration queue which is where the consumers were listening for it. i imagine we could hack together something similar where our "fermentation" queue is a last-value queue and we use the message expiration as a delivery time and we could "update" the message expiration time as needed using last-value features. thanks dan langford --000000000000f7d7b9056b17f024--