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: [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]
For further information, visit: https://activemq.apache.org/contact