[ https://issues.apache.org/jira/browse/LOG4J2-745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14099975#comment-14099975 ]
Gary Gregory commented on LOG4J2-745: ------------------------------------- The general idea is to go for 2.1 next. It's still possible to have a 2.0.3 of course but that is not the path we've discussed and agreed upon. Feel free to opine on the ML ;-) > Plugins can cause ConverterKeys collisions with unpredictable results > --------------------------------------------------------------------- > > Key: LOG4J2-745 > URL: https://issues.apache.org/jira/browse/LOG4J2-745 > Project: Log4j 2 > Issue Type: Improvement > Reporter: Scott Harrington > Assignee: Matt Sicker > Priority: Minor > Attachments: LOG4J2-745-patch-r1617171.txt, LOG4J2-745-patch.txt, > Safer_PluginManager.patch > > > If I create a Converter plugin with ConverterKeys of "d" or "m" then there > will be a collision with the built-in DatePatternConverter or > MessagePatternConverter. > It is unpredictable which plugin gets used. > I see two resolutions: > (1) detect collisions in PatternParser and emit a warning so we know which > implementation will be used > (2) use whichever Log4j2Plugins.dat appeared first in the CLASSPATH > Predictable iteration order is usually accomplished by replacing HashMaps > with LinkedHashMaps. Could easily do this for thie PluginManager.plugins > field. But PluginRegistry uses a ConcurrentHashMap. > Is there a good reason to use ConcurrentHashMaps in PluginRegistry? It > doesn't really give you any concurrency -- a caller to > PluginManager.getPlugins could see a partially-loaded map if collectPlugins > was still running. Why not synchronize collectPlugins and/or loadPlugins, and > force any concurrent caller to getPlugins to wait until the loading was > complete. > I would give it a stab but I see other more important changes are probably > underway for LOG4J2-741 and LOG4J2-673 and this can probably wait. -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org