I found it much easier to parallelize the tests in the API module so far
which seems to help with build times. There’s far more flexibility in 5,
especially for combining extensions which was historically very hard.

On Mon, Nov 9, 2020 at 12:51 Gary Gregory <garydgreg...@gmail.com> wrote:

> Thanks for the update Matt. Yeah Junit 4 and 5 are surprisingly different.
> I hope 5 is really better.
>
> Gary
>
> On Mon, Nov 9, 2020, 13:33 Matt Sicker <boa...@gmail.com> wrote:
>
> > This is in the new test framework. I may have missed an edge case while
> > porting over tests since I haven’t finished that yet (got side tracked by
> > some issues raised in the rolling appender code, then some other items).
> > I’ve been adapting our test tooling to use the JUnit 5 extension API
> which
> > is fairly different from the v4 API, and I don’t think I’ve even ported
> > over all the functionality of LoggerContextRule yet.
> >
> > On Mon, Nov 9, 2020 at 11:08 Gary Gregory <garydgreg...@gmail.com>
> wrote:
> >
> > > 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
> > > > > > >>>
> > > > > > >>
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to