Matt & all: The last failing test I have on Windows fails, always, from the Maven command line or Eclipse:
> > > [ERROR] Failures: > > > [ERROR] FileOutputTest.testConfig target\status.log failed with > > > java.nio.file.FileSystemException: target\status.log: The process > cannot > > > access the file because it is being used by another process. It obviously must not clean up after itself. There is a new annotation called LoggerContextSource which documents loading a config file but mentions nothing of unloading it. There is something called ReconfigurationPolicy which defaults to NEVER but that's not the same as shutting down or is it? Whatever I set the policy to for this test, the error is the same. So is the problem in this new test f/w or in the main code? Gary On Sun, Nov 8, 2020 at 8:21 PM Matt Sicker <boa...@gmail.com> wrote: > There could be a bug that wasn’t encountered other than in CI related to > the test changes. > > ---------- Forwarded message --------- > From: Gary Gregory <garydgreg...@gmail.com> > Date: Sun, Nov 8, 2020 at 16:55 > Subject: Re: [VOTE] Release Log4j 2.14.0-rc1 > To: Apache Logging Developers List <dev@logging.apache.org> > > > On Sun, Nov 8, 2020 at 12:03 PM Matt Sicker <boa...@gmail.com> wrote: > > > There’s a system property you can override in the tests to increase the > > file cleanup timeout which seems to help ensure the tests end up passing > in > > > > I'm sorry to say that my experience with this RC on both Macos and Windows > feels like our build is more brittle than ever. > > I found the timeout setting and set it to 2000 and then 10000 millis which > did not help but then I got weird errors about formatting specifiers not > being parsed. So I have no idea if the Core dat file was properly built. > That's one thing. > > A separate issue I'd like to bring up is that this setting exists at all. > At some point in the near past it seems that some tests were rewritten > based on annotations and test classes that use this sleep setting. > > BUT at some further point in the past, I had a lot of tests running with a > custom Log4j JUnit logger context Rule that set up and tore down Log4j such > that when a test was done, log4j was shutdown which meant that log files > were actually and certainly closed. IIRC that is. If we've changed this > basic premise and decoupled the end of a test with shutting down its logger > context such that a delay is now _required_ to properly close resources > outside of Log4j closing them, then that's a problem and a self-inflicted > wound IMO. > > Now I must apologize for not digging into this new test framework now to > suss out exactly what is going on, but I am hoping someone can help me > understand what's going on here. > > TY! > Gary > > > > > > Windows. If you try setting it to like 1 or 2 seconds, that might help. > > > > On Sun, Nov 8, 2020 at 10:49 Ralph Goers <ralph.go...@dslextreme.com> > > wrote: > > > > > That aligns with what we see in Jenkins. They appear to be problems > with > > > the tests trying to cleanup. Not a blocker for the release. > > > > > > Ralph > > > > > > > On Nov 8, 2020, at 8:46 AM, Gary Gregory <garydgreg...@gmail.com> > > wrote: > > > > > > > > From the git tags, my failures on Windows are: > > > > > > > > [INFO] > > > > [ERROR] Failures: > > > > [ERROR] FileOutputTest.testConfig target\status.log failed with > > > > java.nio.file.FileSystemException: target\status.log: The process > > cannot > > > > access the file because it is being used by another process. > > > > [ERROR] Errors: > > > > [ERROR] > > > RandomAccessFileManagerTest.testAppendDoesNotOverwriteExistingFile > > > > » IO Failed... > > > > [INFO] > > > > [ERROR] Tests run: 2188, Failures: 1, Errors: 1, Skipped: 24 > > > > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) > > > > Maven home: C:\Java\apache-maven-3.6.3\bin\.. > > > > Java version: 1.8.0_272, vendor: AdoptOpenJDK, runtime: C:\Program > > > > Files\AdoptOpenJDK\jdk-8.0.272.10-hotspot\jre > > > > Default locale: en_US, platform encoding: Cp1252 > > > > OS name: "windows 10", version: "10.0", arch: "amd64", family: > "windows > > > > > > > > On Sat, Nov 7, 2020 at 10:49 AM Gary Gregory <garydgreg...@gmail.com > > > > > wrote: > > > > > > > >> Hi All: > > > >> > > > >> I am getting: > > > >> > > > >> [ERROR] Tests run: 20, Failures: 1, Errors: 0, Skipped: 0, Time > > elapsed: > > > >> 116.204 s <<< FAILURE! - in > > > >> org.apache.logging.log4j.core.config.TestConfigurator > > > >> [ERROR] testReconfiguration Time elapsed: 15.044 s <<< FAILURE! > > > >> java.lang.AssertionError: > > > >> Configuration not reset > > > >> Expected: is not > > > >> > > > > > > > sameInstance(<XmlConfiguration[location=/Users/garydgregory/git/logging-log4j2/log4j-core/target/test-classes/log4j2-config.xml]>) > > > >> but: was > > > >> > > > > > > > <XmlConfiguration[location=/Users/garydgregory/git/logging-log4j2/log4j-core/target/test-classes/log4j2-config.xml]> > > > >> at > > > >> > > > > > > > org.apache.logging.log4j.core.config.TestConfigurator.testReconfiguration(TestConfigurator.java:274) > > > >> > > > >> On: > > > >> > > > >> ~/git/logging-log4j2 ➦ 4ab25b92d mvn -version > > > >> Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) > > > >> Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec > > > >> Java version: 1.8.0_272, vendor: AdoptOpenJDK, runtime: > > > >> > /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre > > > >> Default locale: en_US, platform encoding: UTF-8 > > > >> OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: > "mac" > > > >> > > > >> Any thoughts? > > > >> > > > >> As much of the build log from the console: > > > https://pastebin.com/xQsttBna > > > >> > > > >> Gary > > > >> > > > >> > > > >> On Fri, Nov 6, 2020 at 6:46 PM Ralph Goers < > > ralph.go...@dslextreme.com> > > > >> wrote: > > > >> > > > >>> This is a vote to release Log4j 2.14.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 (or more if required). 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 release include: > > > >>> > > > >>> New Features > > > >>> > > > >>> • LOG4J2-2957: Add JsonTemplateLayout. > > > >>> • LOG4J2-2848: Create module log4j-mongodb4 to use new major > > > >>> version 4 MongoDB driver. > > > >>> • LOG4J2-2858: More flexible configuration of the Disruptor > > > >>> WaitStrategy. Thanks to Stepan Gorban. > > > >>> > > > >>> Fixed Bugs > > > >>> > > > >>> • LOG4J2-2925: Fix broken link in FAQ. > > > >>> • LOG4J2-2911: Log4j2EventListener in > > spring.cloud.config.client > > > >>> listens for wrong event. > > > >>> • LOG4J2-2919: Call ReliabilityStrategy's > > beforeStopAppenders() > > > >>> method before stopping AsyncAppender. Thanks to Geng Yuanzhe. > > > >>> • LOG4J2-2906: Fix UnsupportedOperationException when > > > >>> initializing the Log4j2CloudConfigLoggingSystem. Thanks to Stephen > > > Joyner. > > > >>> • LOG4J2-2908: Move Spring Lookup and Spring PropertySource > to > > > >>> its own module. > > > >>> • LOG4J2-2910: Log4j-web should now stores the servlet > context > > > as > > > >>> a map entry instead of in the single external context field. > > > >>> • LOG4J2-2822: Javadoc link in ThreadContext description was > > > >>> incorrect. > > > >>> • LOG4J2-2894: Fix spelling error in log message. > > > >>> • LOG4J2-2901: Missing configuration files should be ignored > > > when > > > >>> creating a composite configuration. > > > >>> • LOG4J2-2883: When using DirectFileRolloverStrategy the > file > > > >>> pattern was not being recalculated on size based rollover after a > > time > > > >>> based rollover had occurred. > > > >>> • LOG4J2-2875: Rollover was failing to create directories > when > > > >>> using a DirectFileeRolloverStrategy. > > > >>> • LOG4J2-2859: Fixed typos where mergeFactory should be > > > >>> mergeStrategy. Thanks to Yanming Zhou. > > > >>> • LOG4J2-2832: Correct class name printed in error message > in > > > >>> RollingFileAppender. Thanks to Benjamin Asbach. > > > >>> • LOG4J2-2882: Support java.util.logging filters when using > > that > > > >>> API. Thanks to Emmanuel Bourg. > > > >>> • LOG4J2-2880: Create StackWalker benchmark. Revert back to > > > >>> StackWalker.walk based on benchmark results. > > > >>> • LOG4J2-2867: Obtain ContextDataProviders asynchronously. > > > >>> • LOG4J2-2877: Determine the container id to obtain > container > > > and > > > >>> image information. > > > >>> • LOG4J2-2844: Null pointer exception when no network > > interfaces > > > >>> are available. > > > >>> • LOG4J2-2895: Fix potential deadlock in asynchronous > logging > > by > > > >>> avoiding blocking for queue space on Log4jThreads > > > >>> • LOG4J2-2837: Disruptor and JUL no longer recursively start > > the > > > >>> AsyncLoggerDisruptor resulting in an extra disruptor background > > thread > > > >>> constantly waiting. > > > >>> • LOG4J2-2867: RingBufferLogEventTranslator uses a static > > > >>> ContextDataInjector instead of initializing a new object on each > > > thread. > > > >>> • LOG4J2-2898: Avoid initializing volatile fields with > default > > > >>> values. Thanks to Turbanov Andrey. > > > >>> • LOG4J2-2899: Fix log4j-1.2-api LogEventWrapper threadId > and > > > >>> priority accessors when called multiple times. > > > >>> • LOG4J2-2939: Fix NPE in MDCContextMap on 'contains' and > > > >>> 'isEmpty' invocations. Thanks to Constantin Hirsch. > > > >>> • LOG4J2-2954: Prevent premature garbage collection of > > shutdown > > > >>> hooks in DefaultShutdownCallbackRegistry. Thanks to Henry Tung. > > > >>> > > > >>> Changes > > > >>> > > > >>> • LOG4J2-2889: Add date pattern support for HTML layout. > > Thanks > > > >>> to Geng Yuanzhe. > > > >>> • LOG4J2-2892: Allow GelfLayout to produce newline delimited > > > >>> events. Thanks to Jakub Lukes. > > > >>> • : Update MongoDB tests to require Java 8 unconditionally > now > > > >>> that Log4j requires Java 8. > > > >>> • : Update mongodb3.version from 3.12.1 to 3.12.6. > > > >>> • : Update com.fasterxml.jackson.* 2.10.2 -> 2.11.0. > > > >>> • : Update org.apache.activemq:activemq-broker 5.15.11 -> > > > 5.16.0. > > > >>> • : Update org.apache.commons:commons-compress 1.19 -> 1.20. > > > >>> • : Update org.apache.commons:commons-csv 1.7 -> 1.8. > > > >>> • : Update org.apache.commons:commons-lang3 3.9 -> 3.10. > > > >>> • : Update org.codehaus.groovy:* 2.5.6 -> 3.0.5. > > > >>> • : Update tests junit:junit 4.12 -> 4.13. > > > >>> • : Update tests commons-io:commons-io 2.6 -> 2.7. > > > >>> • : Update jackson 2.11.0 -> 2.11.2. > > > >>> • : Update tests hsqldb 2.5.0 -> 2.5.1. > > > >>> > > > >>> Removed > > > >>> > > > >>> • LOG4J2-2851: Drop log4j-mongodb2 module. > > > >>> > > > >>> > > > >>> Tag: > > > >>> a) for a new copy do "git clone > > > >>> https://github.com/apache/logging-log4j2.git" and then "git > checkout > > > >>> tags/log4j-2.14.0-rc1” or just "git clone -b log4j-2.14.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.14.0-rc1” > > > >>> > > > >>> Web Site: https://logging.staged.apache.org/log4j/2.x/index.html. > > > >>> > > > >>> Maven Artifacts: > > > >>> > > > > https://repository.apache.org/content/repositories/orgapachelogging-1061 > > > >>> > > > >>> 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-1061/org/apache/logging/log4j/ > > > >>> > > > >>> Ralph > > > >>> > > > >> > > > > > > > > > > > >