Sorry, fixed.

On Sun, Jul 1, 2018 at 8:03 PM, Ralph Goers <[email protected]> wrote:
> This commit is broken. There were merge conflicts in changes.xml that were 
> not properly resolved. Please fix this asap.
>
> Ralph
>
>
>> On Jun 29, 2018, at 7:53 PM, [email protected] wrote:
>>
>> Repository: logging-log4j2
>> Updated Branches:
>>  refs/heads/release-2.x b66f09c34 -> 377afa006
>>
>>
>> LOG4J2-2362 ReusableObjectMessage memory leak
>>
>> ReusableObjectMessage would previously retain a reference to
>> the most recently logged object.
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/377afa00
>> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/377afa00
>> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/377afa00
>>
>> Branch: refs/heads/release-2.x
>> Commit: 377afa006b5102c508f1e6578bc05da24385907f
>> Parents: b66f09c
>> Author: Carter Kozak <[email protected]>
>> Authored: Fri Jun 29 16:02:55 2018 -0400
>> Committer: Carter Kozak <[email protected]>
>> Committed: Fri Jun 29 22:52:54 2018 -0400
>>
>> ----------------------------------------------------------------------
>> .../log4j/message/ReusableMessageFactory.java   |   2 +
>> .../apache/logging/log4j/LambdaLoggerTest.java  |   5 +-
>> .../core/EventParameterMemoryLeakTest.java      |  10 +-
>> src/changes/changes.xml                         | 174 +++++++++++++++++++
>> 4 files changed, 188 insertions(+), 3 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/377afa00/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java
>> ----------------------------------------------------------------------
>> diff --git 
>> a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java
>>  
>> b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java
>> index d75ca01..c258045 100644
>> --- 
>> a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java
>> +++ 
>> b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java
>> @@ -86,6 +86,8 @@ public final class ReusableMessageFactory implements 
>> MessageFactory2, Serializab
>>     public static void release(final Message message) { // LOG4J2-1583
>>         if (message instanceof ReusableParameterizedMessage) {
>>             ((ReusableParameterizedMessage) message).reserved = false;
>> +        } else if (message instanceof ReusableObjectMessage) {
>> +            ((ReusableObjectMessage) message).set(null);
>>         }
>>     }
>>
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/377afa00/log4j-api/src/test/java/org/apache/logging/log4j/LambdaLoggerTest.java
>> ----------------------------------------------------------------------
>> diff --git 
>> a/log4j-api/src/test/java/org/apache/logging/log4j/LambdaLoggerTest.java 
>> b/log4j-api/src/test/java/org/apache/logging/log4j/LambdaLoggerTest.java
>> index f6d1623..b532171 100644
>> --- a/log4j-api/src/test/java/org/apache/logging/log4j/LambdaLoggerTest.java
>> +++ b/log4j-api/src/test/java/org/apache/logging/log4j/LambdaLoggerTest.java
>> @@ -21,6 +21,7 @@ import java.util.ArrayList;
>> import java.util.List;
>>
>> import org.apache.logging.log4j.message.Message;
>> +import org.apache.logging.log4j.message.ReusableMessage;
>> import org.apache.logging.log4j.message.SimpleMessage;
>> import org.apache.logging.log4j.spi.AbstractLogger;
>> import org.apache.logging.log4j.util.Supplier;
>> @@ -46,7 +47,9 @@ public class LambdaLoggerTest {
>>             this.fqcn = fqcn;
>>             this.level = level;
>>             this.marker = marker;
>> -            this.message = message;
>> +            this.message = (message instanceof ReusableMessage) ?
>> +                    ((ReusableMessage) message).memento() :
>> +                    message;
>>             this.throwable = t;
>>         }
>>     }
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/377afa00/log4j-core/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
>> ----------------------------------------------------------------------
>> diff --git 
>> a/log4j-core/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
>>  
>> b/log4j-core/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
>> index de99eef..d2106f9 100644
>> --- 
>> a/log4j-core/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
>> +++ 
>> b/log4j-core/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
>> @@ -49,21 +49,27 @@ public class EventParameterMemoryLeakTest {
>>     }
>>
>>     @Test
>> +    @SuppressWarnings("UnusedAssignment") // parameter set to null to allow 
>> garbage collection
>>     public void testParametersAreNotLeaked() throws Exception {
>>         final File file = new File("target", 
>> "EventParameterMemoryLeakTest.log");
>>         assertTrue("Deleted old file before test", !file.exists() || 
>> file.delete());
>>
>>         final Logger log = LogManager.getLogger("com.foo.Bar");
>>         CountDownLatch latch = new CountDownLatch(1);
>> -        log.info("Message with parameter {}", new 
>> ParameterObject("paramValue", latch));
>> +        Object parameter = new ParameterObject("paramValue", latch);
>> +        log.info("Message with parameter {}", parameter);
>> +        log.info(parameter);
>> +        parameter = null;
>>         CoreLoggerContexts.stopLoggerContext(file);
>>         final BufferedReader reader = new BufferedReader(new 
>> FileReader(file));
>>         final String line1 = reader.readLine();
>>         final String line2 = reader.readLine();
>> +        final String line3 = reader.readLine();
>>         reader.close();
>>         file.delete();
>>         assertThat(line1, containsString("Message with parameter 
>> paramValue"));
>> -        assertNull("Expected only a single line", line2);
>> +        assertThat(line2, containsString("paramValue"));
>> +        assertNull("Expected only a two lines", line3);
>>         GarbageCollectionHelper gcHelper = new GarbageCollectionHelper();
>>         gcHelper.run();
>>         try {
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/377afa00/src/changes/changes.xml
>> ----------------------------------------------------------------------
>> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
>> index d9e0790..9fab226 100644
>> --- a/src/changes/changes.xml
>> +++ b/src/changes/changes.xml
>> @@ -30,6 +30,177 @@
>>          - "update" - Change
>>          - "remove" - Removed
>>     -->
>> +<<<<<<< HEAD
>> +=======
>> +    <release version="3.0.0" date="2018-xx-xx" description="GA Release 
>> 3.0.0">
>> +      <action issue="LOG4J2-2171" dev="rmannibucau" type="add">
>> +        Allow to force LOG4J2 to use TCCL only.
>> +      </action>
>> +      <action issue="LOG4J2-1802" dev="mattsicker" type="add">
>> +        Convert documentation into AsciiDoc format.
>> +      </action>
>> +      <action issue="LOG4J2-2268" dev="rgoers" type="fix" due-to="Tilman 
>> Hausherr">
>> +        Improve plugin error message when elements are missing.
>> +      </action>
>> +      <action issue="LOG4J2-2255" dev="rgoers" type="update">
>> +        Use Spotbugs instead of Findbugs. Minimum version is Java 8.
>> +      </action>
>> +      <action issue="LOG4J2-2224" dev="rpopma" type="update">
>> +        Renamed package core.util.datetime to core.time.internal.format to 
>> clarify these classes are to be considered private.
>> +      </action>
>> +      <action issue="LOG4J2-2225" dev="rpopma" type="update">
>> +        Moved time-related classes from core.util to core.time. Classes 
>> considered private moved to core.time.internal.
>> +      </action>
>> +      <action issue="LOG4J2-2228" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Split off ZeroMq/JeroMq support into a new module log4j-jeromq.
>> +      </action>
>> +      <action issue="LOG4J2-2227" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Split off Kafka support into a new module log4j-kafka.
>> +      </action>
>> +      <action issue="LOG4J2-2230" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Split off SMTP support into a new module log4j-smtp.
>> +      </action>
>> +      <action issue="LOG4J2-2231" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Move CSV layout from log4j-core to a new module log4j-csv.
>> +      </action>
>> +      <action issue="LOG4J2-2232" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Move JMS code to a new module log4j-jms.
>> +      </action>
>> +      <action issue="LOG4J2-2233" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Move JDBC code to a new module log4j-jdbc.
>> +      </action>
>> +      <action issue="LOG4J2-2244" dev="ggregory" type="fix" due-to="Gary 
>> Gregory">
>> +        org.apache.logging.log4j.core.lookup.EnvironmentLookup may throw 
>> NPE.
>> +      </action>
>> +      <action issue="LOG4J2-2237" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Move Jackson-based layouts to their own modules: JSON, XML, and 
>> YAML.
>> +      </action>
>> +      <action issue="LOG4J2-2082" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Update Apache Flume from 1.7.0 to 1.8.0.
>> +      </action>
>> +      <action issue="LOG4J2-2079" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Update Conversant Disruptor from 1.12.10 to 1.12.11.
>> +      </action>
>> +      <action issue="LOG4J2-2258" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Update LMAX Disruptor from 3.3.7 to 3.3.8.
>> +      </action>
>> +      <action issue="LOG4J2-2083" dev="ggregory" type="update" due-to="Gary 
>> Gregory">
>> +        Update Eclipse javax.persistence from 2.1.1 to 2.2.0.
>> +      </action>
>> +      <action issue="LOG4J2-2083" dev="ggregory" type="update">
>> +        Update build to expect Java 8 sources and generate Java 8 byte 
>> codes.
>> +      </action>
>> +      <action issue="LOG4J2-2259" dev="ggregory" type="update">
>> +        Update MongoDB 3 module from driver 3.6.1 to 3.6.3.
>> +      </action>
>> +      <action issue="LOG4J2-2260" dev="ggregory" type="update">
>> +        [SMTP] Update javax.mail from 1.6.0 to 1.6.1.
>> +      </action>
>> +      <action issue="LOG4J2-2270" dev="ggregory" type="fix" due-to="Cyril 
>> Martin">
>> +        Strings::join, when called with [null] returns "null" instead of 
>> EMPTY.
>> +      </action>
>> +      <action issue="LOG4J2-2276" dev="ggregory" type="fix" due-to="Sean 
>> Baxter">
>> +        ConcurrentModificationException from 
>> org.apache.logging.log4j.status.StatusLogger.&lt;clinit>(StatusLogger.java:71).
>> +      </action>
>> +      <action issue="LOG4J2-2274" dev="ggregory" type="fix" 
>> due-to="Sebastien Lannez">
>> +        Allow EnvironmentPropertySource to run with a SecurityManager that 
>> rejects environment variable access.
>> +      </action>
>> +      <action issue="LOG4J2-2279" dev="ggregory" type="fix" due-to="Gary 
>> Gregory">
>> +        Allow SystemPropertiesPropertySource to run with a SecurityManager 
>> that rejects system property access.
>> +      </action>
>> +      <action issue="LOG4J2-2279" dev="ggregory" type="fix" due-to="Remko 
>> Popma">
>> +        Move ProcessIdUtil from log4j-api to log4j-core.
>> +      </action>
>> +      <action issue="LOG4J2-2283" dev="ggregory" type="fix" due-to="Vishnu 
>> Priya Matha">
>> +        ParserConfigurationException when using Log4j with 
>> oracle.xml.jaxp.JXDocumentBuilderFactory.
>> +      </action>
>> +      <action issue="LOG4J2-2300" dev="ggregory" type="fix">
>> +        PoolingDriverConnectionSource does not take into account 
>> properties, user name, and password.
>> +      </action>
>> +      <action issue="LOG4J2-2302" dev="ggregory" type="update">
>> +        Status logger should show the Log4j name and version when 
>> initializing itself.
>> +      </action>
>> +      <action issue="LOG4J2-2304" dev="ggregory" type="update" 
>> due-to="wumengsheng">
>> +        Log4j2 2.8.2 JMX unregister NullPointerException.
>> +      </action>
>> +      <action issue="LOG4J2-2306" dev="ckozak" type="fix">
>> +        FixedDateFormat parses timezone offsets, -8:00 is interpreted as 
>> GMT-8:00.
>> +      </action>
>> +      <action issue="LOG4J2-2307" dev="ckozak" type="fix">
>> +        MutableLogEvent and RingBufferLogEvent message mementos retain the 
>> original format string.
>> +      </action>
>> +      <action issue="LOG4J2-2032" dev="ckozak" type="fix" 
>> due-to="Kostiantyn Shchepanovskyi">
>> +        Curly braces in parameters are not treated as placeholders.
>> +      </action>
>> +      <action issue="LOG4J2-2311" dev="ggregory" type="update">
>> +        Update Jackson from 2.9.4 to 2.9.5.
>> +      </action>
>> +      <action issue="LOG4J2-2313" dev="ggregory" type="update">
>> +        Update LMAX Disruptor from 3.3.8 to 3.4.2.
>> +      </action>
>> +      <action issue="LOG4J2-2317" dev="ckozak" type="fix">
>> +        MutableLogEvent.getNonNullImmutableMessage and 
>> Log4jLogEvent.makeMessageImmutable retain format and parameters.
>> +      </action>
>> +      <action issue="LOG4J2-2318" dev="ckozak" type="fix">
>> +        Messages are no longer mutated when the asynchronous queue is full. 
>> A warning is logged to the status logger instead.
>> +      </action>
>> +      <action issue="LOG4J2-2320" dev="ckozak" type="fix">
>> +        Fix NPE in AbstractLogger when another exception is thrown, masking 
>> the root cause.
>> +      </action>
>> +      <action issue="LOG4J2-548" dev="ggregory" type="update" 
>> due-to="Shehata, Paresh Varke, Eric Victorson, Martin Laforet">
>> +        Log4j 2.0 ERROR "Could not search jar" with JBoss EAP 6.2.
>> +      </action>
>> +      <action issue="LOG4J2-2321" dev="ckozak" type="fix">
>> +        AsyncLogger uses the correct level when unspecified. This provides 
>> parity between AsyncLogger and Logger.
>> +      </action>
>> +      <action issue="LOG4J2-2322" dev="ckozak" type="fix">
>> +        Custom ContextSelector implementations which select an 
>> AsyncLoggerContext disable LoggerConfig.includeLocation
>> +        by default for parity with AsyncLoggerContextSelector.
>> +      </action>
>> +      <action issue="LOG4J2-2269" dev="ckozak" type="fix">
>> +        MutableLogEvent references to other objects are cleared after each 
>> use.
>> +        Fix a memory leak causing references to parameters to be held after 
>> synchronous logging with thread locals enabled.
>> +      </action>
>> +      <action issue="LOG4J2-2328" dev="ggregory" type="update">
>> +        Update JAnsi from 1.17 to 1.17.1.
>> +      </action>
>> +      <action issue="LOG4J2-2301" dev="ckozak" type="fix">
>> +        Mixed async loggers no longer forget parameter values, providing 
>> some appenders with an array of nulls.
>> +      </action>
>> +      <action issue="LOG4J2-2331" dev="ckozak" type="fix" due-to="Mike 
>> Baranski">
>> +        RollingFileManager debug logging avoids string concatenation and 
>> errant braces in favor of parameterized logging.
>> +      </action>
>> +      <action issue="LOG4J2-2333" dev="ckozak" type="fix">
>> +        Handle errors thrown in default disruptor ExceptionHandler 
>> implementations to avoid killing background threads.
>> +      </action>
>> +      <action issue="LOG4J2-2334" dev="ggregory" type="fix">
>> +        Add API 
>> org.apache.logging.log4j.core.appender.AsyncAppender.getQueueSize().
>> +      </action>
>> +      <action issue="LOG4J2-2336" dev="ckozak" type="fix">
>> +        Remove duplicate hyphen from the AsyncLoggerConfig background 
>> thread name.
>> +      </action>
>> +      <action issue="LOG4J2-2347" dev="ggregory" type="fix">
>> +        Update Apache Commons Compress from 1.16.1 to 1.17.
>> +      </action>
>> +      <action issue="LOG4J2-2351" dev="ckozak" type="update">
>> +        Added AbstractLogEvent.getMutableInstant to allow the 
>> MutableInstant instance to be modified by classes extending AbstractLogEvent.
>> +      </action>
>> +      <action issue="LOG4J2-2352" dev="ckozak" type="fix">
>> +        RingBufferLogEvent memento messages provide the expected format 
>> string, and no longer attempt to substitute parameters into curly braces in 
>> parameter toString values.
>> +        Both RingBufferLogEvent and MutableLogEvent memento implementations 
>> memoize results to avoid rebuilding formatted string values.
>> +      </action>
>> +      <action issue="LOG4J2-2355" dev="ckozak" type="fix" due-to="Henrik 
>> Brautaset Aronsen">
>> +        PropertiesUtil ignores non-string system properties. Fixes a 
>> NoClassDefFoundError initializing StatusLogger
>> +        caused by an NPE while initializing the static PropertiesUtil field.
>> +      </action>
>> +      <action issue="LOG4J2-2357" dev="ggregory" type="update">
>> +        Update Jackson from 2.9.5 to 2.9.6.
>> +      </action>
>> +      <action issue="LOG4J2-2362" dev="ckozak" type="fix">
>> +        Fixed a memory leak in which ReusableObjectMessage would hold a 
>> reference to the most recently logged object.
>> +      </action>
>> +    </release>
>> +>>>>>>> 063e725b8... LOG4J2-2362 ReusableObjectMessage memory leak
>>     <release version="2.11.1" date="2018-MM-DD" description="GA Release 
>> 2.11.1">
>>       <action issue="LOG4J2-2268" dev="rgoers" type="fix" due-to="Tilman 
>> Hausherr">
>>         Improve plugin error message when elements are missing.
>> @@ -119,6 +290,9 @@
>>       <action issue="LOG4J2-2358" dev="ggregory" type="update">
>>         Update Kafka client from 1.0.0 to 1.1.0.
>>       </action>
>> +      <action issue="LOG4J2-2362" dev="ckozak" type="fix">
>> +        Fixed a memory leak in which ReusableObjectMessage would hold a 
>> reference to the most recently logged object.
>> +      </action>
>>     </release>
>>     <release version="2.11.0" date="2018-03-11" description="GA Release 
>> 2.11.0">
>>       <action issue="LOG4J2-2104" dev="rgoers" type="fix">
>>
>>
>
>

Reply via email to