-1
While strictly speaking we don't guarantee binary compatibility in non-API
modules, we should try not to break things, and that seems quite a lot of
usages.
I would feel more comfortable fixing this before we roll out 2.11.2.

On Tue, Feb 5, 2019 at 2:08 AM Carter Kozak <[email protected]> wrote:

> A few hits show up on public github that will break if we don't fix
> WriterAppender.newBuilder for 2.11.2:
>
> https://github.com/search?l=Java&q=WriterAppender.newBuilder%28%29&type=Code
>
> On Mon, Feb 4, 2019 at 10:24 AM Carter Kozak <[email protected]> wrote:
> >
> > That is correct, the builder had no usages inside of our codebase,
> > which would have caused the compiler to catch the break.
> >
> > On Mon, Feb 4, 2019 at 10:12 AM Ralph Goers <[email protected]>
> wrote:
> > >
> > > OK. That makes more sense. So that would mean the code in question
> didn’t have any unit tests directed at it?
> > >
> > > Ralph
> > >
> > > > On Feb 4, 2019, at 7:53 AM, Carter Kozak <[email protected]> wrote:
> > > >
> > > > Sorry, I think part of a commit that modified WriterAppender never
> > > > made it to the master branch.
> > > > I've provided a PR against release-2.x:
> > > > https://github.com/apache/logging-log4j2/pull/255/files
> > > >
> > > > The issue is that we cannot use WriterAppender.newBuilder() fluently
> > > > with methods defined on AbstractAppender.Builder because this commit
> > > > migrated fields without updating the WriterAppender.newBuilder()
> > > > implementation:
> > > >
> https://github.com/apache/logging-log4j2/commit/61b77dfb6ec5f69117f7892ccb940e34b5223954#diff-54bfdf411224aeea892379ecd25a13b9L40
> > > >
> > > > On Mon, Feb 4, 2019 at 9:27 AM Ralph Goers <
> [email protected]> wrote:
> > > >>
> > > >> I’m a little confused. When I look at the source for release-2.x it
> already looks just like what you changed it to. In looking at your link
> below, it is a PR against master. Are you sure you are comparing the
> correct branch?
> > > >>
> > > >> Ralph
> > > >>
> > > >>> On Feb 4, 2019, at 5:00 AM, Carter Kozak <[email protected]>
> wrote:
> > > >>>
> > > >>> I've discovered a regression between 2.11.1 and 2.11.2-rc1 which
> > > >>> breaks compilation for consumers of WriterAppender.Builder,
> > > >>> illustrated here:
> https://github.com/apache/logging-log4j2/pull/254
> > > >>> I can take a closer look into the cause this afternoon.
> > > >>>
> > > >>>
> > > >>> On Sun, Feb 3, 2019 at 7:43 PM Carter Kozak <[email protected]>
> wrote:
> > > >>>>
> > > >>>> Oof "uses a more faster method" in the LOG4J2-2391 note. I think I
> > > >>>> messed up an edit between "more performant" and "faster".
> Probably not
> > > >>>> worth rebuilding for just the release note.
> > > >>>>
> > > >>>> I've run tests on a few projects I maintain, results are passing
> so
> > > >>>> far. I'll have a few more sets of results in the morning.
> > > >>>>
> > > >>>> On Sun, Feb 3, 2019 at 7:05 PM Ralph Goers <
> [email protected]> wrote:
> > > >>>>>
> > > >>>>> This is a vote to release Log4j 2.11.2, 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-2496: JDBC Appender should reconnect to the
> database when a connection goes stale.
> > > >>>>>       • LOG4J2-2505: Let JDBC PoolingDriverConnectionSource with
> Apache Commons DBCP configure a PoolableConnectionFactory.
> > > >>>>>       • LOG4J2-2509: Allow a JDBC Appender to truncate strings
> to match a table's metadata column length limit.
> > > >>>>>       • LOG4J2-1246: PatternLayout %date conversion pattern
> should render time zone designator for ISO-ISO8601.
> > > >>>>> Fixed Bugs
> > > >>>>>
> > > >>>>>       • LOG4J2-2543: Add Log4j-to-SLF4J to BOM pom.xml. Thanks
> to Dermot Hardy.
> > > >>>>>       • LOG4J2-2061: Use the file pattern as the FileManager
> "name" when no filename is present.
> > > >>>>>       • LOG4J2-2009: Expose LoggerContext.setConfiguration as a
> public method.
> > > >>>>>       • LOG4J2-2542: CronTriggeringPolicy was not rolling
> properly, especially when used with the SizeBasedTriggeringPolicy.
> > > >>>>>       • LOG4J2-2266: Load PropertySources from any accessible
> ClassLoader. Hide any exceptions that may occur accessing a PropertySource.
> > > >>>>>       • LOG4J2-1570: Logging with a lambda expression with a
> method call that also logs would cause logs within method call to reference
> line num and method name of the parent method.
> > > >>>>>       • LOG4J2-2485: SizeBasedTriggeringPolicy was not honored
> when using the DirectWriteRolloverStrategy if the machine restarts. Thanks
> to Giovanni Matteo Fumarola.
> > > >>>>>       • LOG4J2-1906: Direct write was creating files with the
> wrong date/time.
> > > >>>>>       • LOG4J2-2453: Add Log4j-slf4j18-impl dependency to bom
> pom. Thanks to theit.
> > > >>>>>       • LOG4J2-2515: Configuration documentation referenced
> incorrect method name. Thanks to MakarovS.
> > > >>>>>       • LOG4J2-2514: Make Strings.toRootUpperCase a static
> method so it can be accessed. Thanks to smilebrian0515.
> > > >>>>>       • LOG4J2-1571: Fixed Appenders section in Extending Log4j.
> Thanks to torbenmoeller.
> > > >>>>>       • LOG4J2-2397: Predeployment of PersistenceUnit that using
> Log4j as session logger failed (#198). Thanks to EckelDong.
> > > >>>>>       • LOG4J2-2365: NameAbbreviator correctly abbreviates first
> fragments (#188). Thanks to Eugene Zimichev.
> > > >>>>>       • LOG4J2-2201: Fix memory leak in
> ReusableParameterizedMessage.
> > > >>>>>       • LOG4J2-2363: ReusableObjectMessage parameter is properly
> passed to appenders (#203). Thanks to Brian Laub.
> > > >>>>>       • LOG4J2-2418: NullPointerException when closing never
> used RollingRandomAccessFileAppender. Thanks to Jonas Rutishauser.
> > > >>>>>       • LOG4J2-2422: Handle some unchecked exceptions while
> loading plugins. Thanks to rswart, Gary Gregory.
> > > >>>>>       • LOG4J2-2441: Setting a null ErrorHandler on
> AbstractAppender is not allowed and will no-op as expected.
> > > >>>>>       • LOG4J2-2444: ErrorHandler is invoked with a LogEvent and
> Throwable when possible, where previously only a string was used.
> > > >>>>>       • LOG4J2-2413: Exceptions are added to all columns when a
> JDBC Appender's ColumnMapping uses a Pattern. Thanks to Andres Luuk, Gary
> Gregory.
> > > >>>>>       • LOG4J2-2466: ColumnMapping literal not working. Thanks
> to Paolo Bonanomi, Gary Gregory.
> > > >>>>>       • LOG4J2-2478: AbstractStringLayoutStringEncodingBenchmark
> returns the computed variables on each benchmark to avoid DCE. Thanks to
> Diego Elias Costa.
> > > >>>>>       • LOG4J2-2134: StackOverflowError at
> AwaitCompletionReliabilityStrategy. Thanks to David del Amo Mateos, Gary
> Gregory.
> > > >>>>>       • LOG4J2-2481: Avoid NullPointerExceptions in
> org.apache.logging.log4j.core.config.AbstractConfiguration for null
> arguments.
> > > >>>>>       • LOG4J2-2457: RollingRandomAccessFileManager ignores new
> file patterns from programmatic reconfiguration. Thanks to Heiko Schwanke,
> Gary Gregory.
> > > >>>>>       • LOG4J2-2482: BasicContextSelector cannot be used in a
> OSGI application. Thanks to Rob Gansevles.
> > > >>>>>       • LOG4J2-2476: org.apache.log4j.SimpleLayout and
> ConsoleAppender missing in log4j-1.2-api. Thanks to Al Bundy.
> > > >>>>>       • LOG4J2-2497: JmsAppender reconnectIntervalMillis cannot
> be set from a configuration file.
> > > >>>>>       • LOG4J2-2499: JMS Appender may throw a
> NullPointerException when JMS is not up while the Appender is starting.
> > > >>>>>       • LOG4J2-2508: JDBC Appender fails when using both
> parameter, source, and literal ColumnMapping elements.
> > > >>>>>       • LOG4J2-2527: Prevent ConcurrentModificationException
> while iterating over ListAppender events.
> > > >>>>>       • LOG4J2-2522: Fix regression using
> MapMessageLookup.lookup with MapMessages that do not implement
> StringMapMessage. Thanks to Adam Lesiak.
> > > >>>>>       • LOG4J2-2530: Generalize checks using MapMessage
> implementations with do not extend StringMapMessage. Introduce new
> JAVA_UNQUOTED MapMessage format type based on the JAVA formatting, but
> without quoted values. Thanks to Travis Spencer.
> > > >>>>>       • LOG4J2-2533: Fix a regression introduced by LOG4J2-2301
> in 2.11.1 allowing allocation to occur in AsyncLoggerConfig. Thanks to
> Michail Prusakov.
> > > >>>>> Changes
> > > >>>>>
> > > >>>>>       • LOG4J2-1576: Switch from CLIRR to RevAPI for detecting
> API changes.
> > > >>>>>       • LOG4J2-2391: Improve exception logging performance.
> ThrowableProxy construction uses a more faster method to discover the
> current stack trace. ThrowablePatternConverter and
> ExtendedThrowablePatternConverter default configurations no longer allocate
> an additional buffer for stack trace contents.
> > > >>>>>       • LOG4J2-2447: Let the NullAppender default its name to
> "null".
> > > >>>>>       • LOG4J2-2468: Update Jackson from 2.9.6 to 2.9.7.
> > > >>>>>       • LOG4J2-2469: Update Apache Commons Compress from 1.17 to
> 1.18.
> > > >>>>>       • LOG4J2-2470: Update Apache Commons CSV from 1.5 to 1.6.
> > > >>>>>       • LOG4J2-2471: Update javax.mail from 1.6.1 to 1.6.2.
> > > >>>>>       • LOG4J2-2472: Update mongo-java-driver 3 from 3.8.0 to
> 3.8.2.
> > > >>>>>       • LOG4J2-2489: JDBC Appender should release parameter
> resources ASAP.
> > > >>>>>       • LOG4J2-2491: Allow all Appenders to optionally carry a
> Property array.
> > > >>>>>       • LOG4J2-2405: Better handling of %highlight pattern when
> using jul-bridge. Thanks to Marco Herrn.
> > > >>>>>       • LOG4J2-2503: Update MongoDB driver from 3.8.2 to 3.9.0
> for log4j-mongodb3 module.
> > > >>>>>
> > > >>>>> Tag:
> > > >>>>> a)  for a new copy do "git clone
> https://github.com/apache/logging-log4j2.git"; and then "git checkout
> tags/log4j-2.11.2-rc1”
> > > >>>>> b) for an existing working copy to “git pull” and then “git
> checkout tags/log4j-2.11.2-rc1”
> > > >>>>>
> > > >>>>> Web Site:  http://rgoers.github.io/log4j2-site/index.html.
> > > >>>>>
> > > >>>>> Maven Artifacts:
> https://repository.apache.org/content/repositories/orgapachelogging-1042/
> > > >>>>>
> > > >>>>> 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-1042/org/apache/logging/log4j/
> > > >>>>>
> > > >>>>> Ralph
> > > >>>
> > > >>
> > > >>
> > > >
> > >
> > >
>

Reply via email to