tabish121 commented on a change in pull request #3036: ARTEMIS-2669 Improve 
AMQPStandardMessage::reencode on depaging not durable messages
URL: https://github.com/apache/activemq-artemis/pull/3036#discussion_r395807413
 
 

 ##########
 File path: 
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java
 ##########
 @@ -837,16 +837,26 @@ protected synchronized void 
lazyScanAfterReloadPersistence() {
       messageDataScanned = MessageDataScanningStatus.SCANNED.code;
       modified = false;
 
+      makeDurable();
+   }
+
+   private void makeDurable() {
+      assert messageDataScanned == MessageDataScanningStatus.SCANNED.code;
       // Message state should reflect that is came from persistent storage 
which
       // can happen when moved to a durable location.  We must re-encode here 
to
       // avoid a subsequent redelivery from suddenly appearing with a durable 
header
       // tag when the initial delivery did not.
       if (!isDurable()) {
 
 Review comment:
   The change I made was to stabilize what was already happening where on 
reload from persistence the broker tagged the durable flag in AMQPMessage as 
true and then depending on other factors in the message content and redelivery 
state it would sometimes pop out marked with a durable header and other times 
not.  I chose to preserve the behaviour that happened the most which was that 
the message reappeared with a re-encode that resulted in a Header being 
applied.  

----------------------------------------------------------------
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

Reply via email to