gemmellr commented on a change in pull request #2847: ARTEMIS-2494: [AMQP]
Allow Modified disposition to be used signal address full to a sending peer
URL: https://github.com/apache/activemq-artemis/pull/2847#discussion_r327735930
##########
File path:
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/ProtonServerReceiverContext.java
##########
@@ -326,6 +325,37 @@ private void actualDelivery(Delivery delivery, Receiver
receiver, ReadableBuffer
}
}
+ private DeliveryState determineDeliveryState(final Source source, final
boolean useModified, final Exception e) {
+ Outcome defaultOutcome = getEffectiveDefaultOutcome(source);
+ if (e instanceof ActiveMQAddressFullException && useModified &&
+ (outcomeSupported(source, Modified.DESCRIPTOR_SYMBOL) ||
defaultOutcome instanceof Modified)) {
+ Modified modified = new Modified();
+ modified.setDeliveryFailed(true);
+ modified.setUndeliverableHere(false);
Review comment:
I was too focused on the Accept and looking into its implications earlier
that I missed this. I don't think undeliverable-here should be set, or else it
should be configurable. There is nothing wrong with the message itself here,
and the point of the related JIRA was you want the sender to be able to send
the message again, but setting undeliverable-here specifically instructs them
otherwise.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services