Github user jbertram commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2228#discussion_r208791390
--- Diff:
artemis-selector/src/main/java/org/apache/activemq/artemis/selector/impl/SelectorParser.java
---
@@ -80,11 +78,15 @@ public static BooleanExpression parse(String sql)
throws FilterException {
StrictParser parser = new StrictParser(new
StringReader(actual));
e = parser.JmsSelector();
}
- cache.put(sql, e);
+ synchronized (cache) {
--- End diff --
FWIW, the LRUCache is also used in
`org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager`
and access is controlled with `synchronized` blocks.
---