ansd opened a new pull request, #74:
URL: https://github.com/apache/qpid-jms/pull/74

   Publishing to a JMS topic that currently has no matching subscription failed 
with "Delivery failed: released by receiver" instead of succeeding.
   
   A released outcome is not an error signal. [AMQP 1.0 section 
3.4.4](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-released)
 defines it at the target as indicating "that a given transfer was not and will 
not be acted upon", in contrast to rejected ("an invalid and unprocessable 
message") and modified. A broker that fans a topic publish out to zero 
subscriptions has done exactly that: nothing acted on the transfer, and there 
is nothing wrong with the message.
   
   The Jakarta Messaging pub/sub model expects the send to succeed in that 
case. [Section 
4.2.2](https://jakarta.ee/specifications/messaging/3.1/jakarta-messaging-spec-3.1#topic-semantics)
 states that a subscription receives a copy of a message sent to the topic only 
while the subscription exists, and that a non-durable subscription only exists 
while it has an active consumer, so a message published to a topic with no 
matching subscription is simply discarded. This is normal operation, not a send 
failure, and it is common: it happens for a temporary topic with no subscriber, 
after a subscriber is closed, and when a durable subscription's selector no 
longer matches.
   
   Complete the send successfully when the released delivery was addressed to a 
topic. A queue is left reporting the failure as before: there, a released 
outcome means the message was not stored, and silently succeeding would lose a 
point-to-point message without telling the application.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to