[
https://issues.apache.org/jira/browse/LOG4J2-2735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carter Kozak resolved LOG4J2-2735.
----------------------------------
Fix Version/s: 2.13.1
Resolution: Fixed
I've merged the fix into release-2.x and master. Please verify from a snapshot
and close this issue once you're satisfied. Thank you for the contribution!
> Make the content of the generated log4j2plugins.dat file repeatable
> -------------------------------------------------------------------
>
> Key: LOG4J2-2735
> URL: https://issues.apache.org/jira/browse/LOG4J2-2735
> Project: Log4j 2
> Issue Type: Improvement
> Components: Plugins
> Affects Versions: 2.12.1
> Reporter: Andy Wilkinson
> Priority: Major
> Fix For: 2.13.1
>
>
> The content of the generated {{Log4j2Plugins.dat}} does not appear to be
> repeatable. I noticed the problem as it affects Gradle's build caching.
> Getting different output from Java compilation for the same inputs causes a
> cache miss and additional work that should be unnecessary.
> Looking at the code, I believe that the problem is that
> {{PluginProcessor.process}} works with a {{Set}} of elements and that
> {{PluginCache}} uses an insertion-order map. If the order of the elements in
> the {{Set}} changes, they will be inserted into the cache in a different
> order and then written out in a different order.
> Would it be possible to use {{TreeMap}} s in {{PluginCache}} so that the
> categories and their entries are written in name order?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)