You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Carter Kozak (Jira)" <ji...@apache.org> on 2019/12/25 03:27:00 UTC

[jira] [Resolved] (LOG4J2-2735) Make the content of the generated log4j2plugins.dat file repeatable

     [ 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)