Github user franz1981 commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2427#discussion_r232758121
--- Diff:
artemis-commons/src/main/java/org/apache/activemq/artemis/utils/collections/TypedProperties.java
---
@@ -318,6 +320,33 @@ public synchronized boolean containsProperty(final
SimpleString key) {
}
}
+ public synchronized boolean
cleanupInternalProperties(Predicate<SimpleString> propertyNamePredicate) {
+ if (!internalProperties) {
--- End diff --
I have pushed a new version of the change that's using a private subclass
of 'TypedProperties' where needed to allow atomic updates of the
`internalProperties` flag: I'm not very about about the factory method on
'CoreMessage' to allow the client messages to not use that subclass: this is an
additional optimisation given that the original code where always using
'TypedProperties' that where chacking on each added property if it was an
'internal" one.
---