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.
---