gemmellr commented on a change in pull request #3568:
URL: https://github.com/apache/activemq-artemis/pull/3568#discussion_r650020662
##########
File path:
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/ProtonAbstractReceiver.java
##########
@@ -285,13 +282,13 @@ protected void initializeCurrentLargeMessage(Delivery
delivery, Receiver receive
@Override
public void close(boolean remoteLinkClose) throws ActiveMQAMQPException {
protonSession.removeReceiver(receiver);
+ clearLargeMessage();
Review comment:
Based on the usage I believe false means it isnt in response to a
'client' asking for it via a detach frame, but is instead a 'local' close
initiated on the server either directly (such as when administratively killing
a consumer) or indirectly (e.g during connection drop, etc).
In the former case, the server could prvoke sending of a detach(closed=true)
to the 'client', but there may still be message data in flight to the server
before the client responds to the detach (again, assuming it does reply). If
so, it would need to ensure it didnt handle any more payload if it is going to
clear the file at this point. Or that it cleared it up later if it doesnt.
##########
File path:
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/ProtonAbstractReceiver.java
##########
@@ -285,13 +282,13 @@ protected void initializeCurrentLargeMessage(Delivery
delivery, Receiver receive
@Override
public void close(boolean remoteLinkClose) throws ActiveMQAMQPException {
protonSession.removeReceiver(receiver);
+ clearLargeMessage();
Review comment:
Based on the usage I believe false means it isnt in response to a
'client' asking for it via a detach frame, but is instead a 'local' close
initiated on the server either directly (such as when administratively killing
a producer) or indirectly (e.g during connection drop, etc).
In the former case, the server could prvoke sending of a detach(closed=true)
to the 'client', but there may still be message data in flight to the server
before the client responds to the detach (again, assuming it does reply). If
so, it would need to ensure it didnt handle any more payload if it is going to
clear the file at this point. Or that it cleared it up later if it doesnt.
--
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]