You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (Jira)" <ji...@apache.org> on 2021/12/15 12:05:00 UTC

[jira] [Comment Edited] (ARTEMIS-3610) Artemis's Core JMS 2 CompletionListener with persistent messages should work by default

    [ https://issues.apache.org/jira/browse/ARTEMIS-3610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17459797#comment-17459797 ] 

Gary Tully edited comment on ARTEMIS-3610 at 12/15/21, 12:04 PM:
-----------------------------------------------------------------

The current behaviour where it fires immediately is just wrong from a jms durable send point of view, it is essentially a lie. However it is a very fast way to get bytes to the broker. The network can be saturated and the journal buffer can batch writes and syncs. In a controlled stable environments it can be very performant. This can be beneficial.

Maybe it is just a case of documenting that the completion listener callback without a confirmationWindowSize set is a suggestion/lie, and if the user is interested in the true state of the message on the broker, they need to configure a confirmation window and await confirmations from the broker.

The produerWindowSize will still limit, and can block, message production if the server does not grant credit. 


was (Author: gtully):
I think the use of completion listener with a persistent message with default (unset) confirmationWindowSize should behave as if confirmationWindowSize=1, essentially blocking behaviour.

The current behaviour where it fires immediately is just wrong from a jms durable send point of view, it is essentially a lie.

> Artemis's Core JMS 2 CompletionListener  with persistent messages should work by default
> ----------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-3610
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3610
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Major
>
> JMS 2 spec allow non-persistent messages sent to get CompletionListener's callback called without any response coming from the broker, but persistent ones should use CompletionListener relying on broker's responses.
> Right now if users won't configure confirmationWindowSize (that's -1 by default), they won't get *any* meaningful behaviour of CompletionListener both for persistent and non-persistent messages: we should provide a default configuration of confirmationWindowSize or just allow CompletionListener to work without configuring any, in order to let persistent messages to work as by JMS 2 spec.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)