Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/2427#discussion_r234909113 --- Diff: artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java --- @@ -52,6 +52,11 @@ * consumers */ public class CoreMessage extends RefCountMessage implements ICoreMessage { + // We use properties to establish routing context on clustering. + // However if the client resends the message after receiving, it needs to be removed + private static final Predicate<SimpleString> INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER = --- End diff -- @franz1981 in RemoteQueueBindingImpl.addRouteContextToMessage these are added as extraByteProperties, and used in ClusterConnectionBridge maybe a simpler solution is to hold extraByteProperties in a separate TypeProperties like in AMQPMessage, then its easy to strip these extra internal properties (no need to even iterate) / not let it leak to clients, just as in AMQPMessage.
---