If that test isn’t using the listener mechanism in LoggerContext, then it’ll 
sporadically fail to detect reconfigurations.

—
Matt Sicker

> On Jun 29, 2022, at 12:13, Ralph Goers <[email protected]> wrote:
> 
> I believe I have seen this or a similar error in the past but I haven’t seen 
> it myself in quite a while.
> 
> I’d bet it is a problem with the test.
> 
> Ralph
> 
>> On Jun 29, 2022, at 6:50 AM, Gary Gregory <[email protected]> wrote:
>> 
>> I get a test failure:
>> 
>> ERROR] Tests run: 21, Failures: 1, Errors: 0, Skipped: 0, Time
>> elapsed: 121.852 s <<< FAILURE! - in
>> org.apache.logging.log4j.core.config.TestConfigurator
>> [ERROR] 
>> org.apache.logging.log4j.core.config.TestConfigurator.testReconfiguration
>> Time elapsed: 15.035 s  <<< FAILURE!
>> java.lang.AssertionError:
>> Configuration not reset
>> Expected: is not
>> sameInstance(<XmlConfiguration[location=/Users/garydgregory/Downloads/apache-log4j-2.18.0-src/log4j-core/target/test-classes/log4j2-config.xml]>)
>>    but: was 
>> <XmlConfiguration[location=/Users/garydgregory/Downloads/apache-log4j-2.18.0-src/log4j-core/target/test-classes/log4j2-config.xml]>
>> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
>> at 
>> org.apache.logging.log4j.core.config.TestConfigurator.testReconfiguration(TestConfigurator.java:305)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>> at 
>> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
>> at 
>> org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
>> at 
>> org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
>> at 
>> org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
>> at 
>> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
>> at 
>> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
>> at 
>> org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
>> at 
>> org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
>> at 
>> org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
>> at 
>> org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
>> at 
>> org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
>> at 
>> org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
>> at 
>> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
>> at 
>> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
>> at 
>> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
>> at 
>> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
>> at 
>> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>> at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>> at java.util.ArrayList.forEach(ArrayList.java:1259)
>> at 
>> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>> at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>> at java.util.ArrayList.forEach(ArrayList.java:1259)
>> at 
>> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>> at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>> at 
>> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>> at 
>> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>> at 
>> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
>> at 
>> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
>> at 
>> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
>> at 
>> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108)
>> at 
>> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
>> at 
>> org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
>> at 
>> org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
>> at 
>> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
>> at 
>> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96)
>> at 
>> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75)
>> at 
>> org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:55)
>> at 
>> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:223)
>> at 
>> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:175)
>> at 
>> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:135)
>> at 
>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:456)
>> at 
>> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:169)
>> at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:595)
>> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:581)
>> 
>> Running
>> 
>> mvn clean verify
>> 
>> on
>> 
>> Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
>> Maven home: /usr/local/Cellar/maven/3.8.6/libexec
>> Java version: 1.8.0_322, vendor: Homebrew, runtime:
>> /usr/local/Cellar/openjdk@8/1.8.0+322/libexec/openjdk.jdk/Contents/Home/jre
>> Default locale: en_US, platform encoding: UTF-8
>> OS name: "mac os x", version: "12.4", arch: "x86_64", family: "mac"
>> 
>> Anyone else?
>> 
>> Gary
>> 
>>> On Tue, Jun 28, 2022 at 8:00 PM Ralph Goers <[email protected]> 
>>> wrote:
>>> 
>>> This is a vote to release Log4j 2.18.0, the next version of the Log4j 2 
>>> project.
>>> 
>>> Please download, test, and cast your votes on the log4j developers list.
>>> [] +1, release the artifacts
>>> [] -1, don't release because...
>>> 
>>> The vote will remain open for 72 hours. All votes are welcome and we 
>>> encourage everyone to test the release, but only Logging PMC votes are 
>>> “officially” counted. As always, at least 3 +1 votes and more positive than 
>>> negative votes are required.
>>> 
>>> Changes in this version include:
>>> 
>>> 
>>> New Features
>>> 
>>>       • LOG4J2-3495: Add MutableThreadContextMapFilter.
>>>       • LOG4J2-3472: Add support for custom LMAX disruptor WaitStrategy 
>>> configuration.
>>>       • LOG4J2-3419: Add support for custom Log4j 1.x levels.
>>>       • LOG4J2-3440: Add support for adding and retrieving appenders in 
>>> Log4j 1.x bridge.
>>>       • LOG4J2-3362: Add support for Jakarta Mail API in the SMTP appender.
>>>       • LOG4J2-3483: Add support for Apache Extras' RollingFileAppender in 
>>> Log4j 1.x bridge.
>>>       • LOG4J2-3538: Add support for 24 colors in highlighting Thanks to 
>>> Pavel_K.
>>> 
>>> Fixed Bugs
>>> 
>>>       • LOG4J2-3339: DirectWriteRolloverStrategy should use the current 
>>> time when creating files.
>>>       • LOG4J2-3534: Fix LevelRangeFilterBuilder to align with log4j1's 
>>> behavior.
>>>       • LOG4J2-3527: Don't use Paths.get() to avoid circular file systems.
>>>       • LOG4J2-3490: The DirectWriteRolloverStrategy was not detecting the 
>>> correct index to use during startup.
>>>       • LOG4J2-3432: SizeBasedTriggeringPolicy would fail to rename files 
>>> properly when integer pattern contained a leading zero.
>>>       • LOG4J2-3491: Async Loggers were including the location information 
>>> by default. Thanks to Avihai Marchiano.
>>>       • LOG4J2-1376: Allow enterprise id to be an OID fragment.
>>>       • LOG4J2-3493: ClassArbiter's newBuilder method referenced the wrong 
>>> class. Thanks to Dmytro Voloshyn.
>>>       • LOG4J2-3481: HttpWatcher did not pass credentials when polling.
>>>       • LOG4J2-3482: UrlConnectionFactory.createConnection now accepts an 
>>> AuthorizationProvider as a parameter.
>>>       • LOG4J2-3477: Add the missing context stack to JsonLayout template. 
>>> Thanks to filipc.
>>>       • LOG4J2-3393: Improve JsonTemplateLayout performance.
>>>       • LOG4J2-3424: Properties defined in configuration using a value 
>>> attribute (as opposed to element) are read correctly.
>>>       • LOG4J2-3413: Fix resolution of non-Log4j properties.
>>>       • LOG4J2-3423: JAR file containing Log4j configuration isn't closed. 
>>> Thanks to Radim Tlusty.
>>>       • LOG4J2-3425: Syslog appender lacks the SocketOptions setting. 
>>> Thanks to Jiří Smolík.
>>>       • : Improve validation and reporting of configuration errors.
>>>       • : Log4j 1.2 bridge should generate Log4j 2.x messages based on the 
>>> parameter runtime type.
>>>       • LOG4J2-3426: Log4j 1.2 bridge should not wrap components 
>>> unnecessarily. Thanks to Pooja Pandey.
>>>       • LOG4J2-3418: Fixes Spring Boot logging system registration in a 
>>> multi-application environment.
>>>       • LOG4J2-3040: Avoid ClassCastException in JeroMqManager with custom 
>>> LoggerContextFactory #791. Thanks to LF-Lin.
>>>       • : Fix minor typo #792. Thanks to LF-Lin.
>>>       • LOG4J2-3439: Fixes default SslConfiguration, when a custom keystore 
>>> is used. Thanks to Jayesh Netravali.
>>>       • LOG4J2-3447: Fixes appender concurrency problems in Log4j 1.x 
>>> bridge. Thanks to Pooja Pandey.
>>>       • LOG4J2-3452: Fix and test for race condition in FileUtils.mkdir(). 
>>> Thanks to Stefan Vodita.
>>>       • LOG4J2-3458: LocalizedMessage logs misleading errors on the console.
>>>       • LOG4J2-3359: Fixes the syslog appender in Log4j 1.x bridge, when 
>>> used with a custom layout. Thanks to Tukesh.
>>>       • LOG4J2-3359: log4j-1.2-api 2.17.2 throws NullPointerException while 
>>> removing appender with name as null. Thanks to Rajesh.
>>>       • LOG4J2-2872: Fix problem with non-uppercase custom levels. Thanks 
>>> to Alla Gofman.
>>>       • LOG4J2-3475: Add missing message parameterization in RegexFilter. 
>>> Thanks to Jeremy Lin.
>>>       • LOG4J2-3428: Update 3rd party dependencies for 2.18.0.
>>>       • LOG4J2-3531: Fix parsing error, when XInclude is disabled. Thanks 
>>> to Simo Nikula.
>>>       • LOG4J2-3537: Fixes problem with wrong ANSI escape code for bright 
>>> colors Thanks to Pavel_K.
>>> 
>>> Changes
>>> 
>>>       • LOG4J2-3536: Upgrade the Flume Appender to Flume 1.10.0
>>>       • LOG4J2-3516: Move perf tests to log4j-core-its
>>>       • LOG4J2-3506: Support Spring 2.6.x.
>>>       • LOG4J2-3473: Make the default disruptor WaitStrategy used by Async 
>>> Loggers garbage-free.
>>>       • LOG4J2-3476: Do not throw UnsupportedOperationException when JUL 
>>> ApiLogger::setLevel is called.
>>>       • LOG4J2-3427: Improves ServiceLoader support on servlet containers.
>>> 
>>> 
>>> Tag:
>>> a)  for a new copy do "git clone 
>>> https://github.com/apache/logging-log4j2.git and then "git checkout 
>>> tags/log4j-2.18.0-rc1”  or just "git clone -b log4j-2.18.0-rc1 
>>> https://github.com/apache/logging-log4j2.git";
>>> b) for an existing working copy to “git pull” and then “git checkout 
>>> tags/log4j-2.18.0-rc1”
>>> 
>>> Web Site:  https://logging.staged.apache.org/log4j/2.x/index.html.
>>> 
>>> Maven Artifacts: 
>>> https://repository.apache.org/content/repositories/orgapachelogging-1086/
>>> 
>>> Distribution archives: https://dist.apache.org/repos/dist/dev/logging/log4j/
>>> 
>>> You may download all the Maven artifacts by executing:
>>> wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate 
>>> https://repository.apache.org/content/repositories/orgapachelogging-1086/org/apache/logging/log4j/
>>> 
>>> Ralph
> 

Reply via email to