gemmellr commented on code in PR #5220:
URL: https://github.com/apache/activemq-artemis/pull/5220#discussion_r1863299369


##########
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/connect/mirror/AMQPMirrorControllerSource.java:
##########
@@ -543,6 +602,17 @@ public void preAcknowledge(final Transaction tx, final 
MessageReference ref, fin
          logger.trace("preAcknowledge::tx={}, ref={}, reason={}", tx, ref, 
reason);
       }
 
+      SimpleString noForwardSource = null;
+      if 
(Boolean.TRUE.equals(ref.getMessage().getBooleanProperty(INTERNAL_NO_FORWARD))) 
{
+         noForwardSource = (SimpleString) 
ref.getMessage().getBrokerProperty(INTERNAL_NO_FORWARD_SOURCE);

Review Comment:
   Seems to be the fault of setBrokerProperty() using TypedProperties for 
'extra properties' (as well as setting a message annotation if AMQP message), 
which converts a String value to a SimpleString :/
   
   I'd check the exact behaviour first, but I'd be inclined to flip the 
behaviour so it checks with a String instead, i.e that it null checks then does 
String.valueOf to get a String for the comparison. That way its not creating 
new SimpleString from the [typically same] remoteMirrorId value for every 
message checked, but instead just getting the String from the SimpleString 
(that likely already exists because it was  created from a String).



-- 
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: gitbox-unsubscr...@activemq.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org
For additional commands, e-mail: gitbox-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact


Reply via email to