logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs
Date Mon, 15 Sep 2014 14:35:54 GMT
One more: the lack of a public API to unmap a memory mapped file means we
may need to use sun.misc.Cleaner to implement rollover for the
upcoming MemoryMappedFileAppender. Still investigating this...

On Monday, September 15, 2014, Remko Popma <remko.popma@gmail.com> wrote:

> And separately from the caller class issue, log4j2 async loggers depend on
> the LMAX Disruptor, which makes heavy use of sun.misc.Unsafe, I think
> mostly for concurrency primitives.
>
> Sent from my iPhone
>
> On 2014/09/15, at 22:59, Gary Gregory <garydgregory@gmail.com
> <javascript:_e(%7B%7D,'cvml','garydgregory@gmail.com');>> wrote:
>
> If you download the source zip or git clone, please see the class
> org.apache.logging.log4j.core.impl.ReflectiveCallerClassUtility.
>
> Gary
>
> On Mon, Sep 15, 2014 at 9:56 AM, Gary Gregory <garydgregory@gmail.com
> <javascript:_e(%7B%7D,'cvml','garydgregory@gmail.com');>> wrote:
>
>> Ah, let's see...
>>
>> These links discuss our problems:
>>
>> - https://issues.apache.org/jira/browse/LOG4J2-245
>> - https://issues.apache.org/jira/browse/LOG4J2-809
>>
>> Gary
>>
>> On Mon, Sep 15, 2014 at 8:54 AM, Rory O'Donnell Oracle, Dublin Ireland <
>> rory.odonnell@oracle.com
>> <javascript:_e(%7B%7D,'cvml','rory.odonnell@oracle.com');>> wrote:
>>
>>>  Hi,
>>>
>>> Can I point you to the following paragraphs below.
>>>
>>> "For anything where your migration path is unclear, I would appreciate
>>> comments on the JDK-internal API usage patterns in the attached jdeps
>>> report, in particular comments elaborating on the rationale for them either
>>> to me or on this list.
>>>
>>> Finding suitable replacements for unsupported interfaces is not always
>>> straightforward, which is why I am reaching out to you early in the JDK 9
>>> development cycle so you can give feedback about new APIs that may be
>>> needed to facilitate this exercise."
>>>
>>> Please feel free to send me your comments, explanations etc on why you
>>> are using JDK-internal APIs ?
>>>
>>> Rgds,Rory
>>>
>>> P.S. I haven't gotten round to running the tool on log4j yet.
>>>
>>> On 15/09/2014 12:52, Gary Gregory wrote:
>>>
>>>  Sad, isn't it? Like going to the Dr. and he tells you you've got
>>> something he can't help you with!
>>>
>>>  Gary
>>>
>>> On Mon, Sep 15, 2014 at 7:33 AM, Ralph Goers <rgoers@apache.org
>>> <javascript:_e(%7B%7D,'cvml','rgoers@apache.org');>> wrote:
>>>
>>>> Yes, but if you follow the link you will notice that there is still no
>>>> replacement.
>>>>
>>>> Sent from my iPad
>>>>
>>>> > On Sep 15, 2014, at 3:55 AM, Gary Gregory <garydgregory@gmail.com
>>>> <javascript:_e(%7B%7D,'cvml','garydgregory@gmail.com');>> wrote:
>>>> >
>>>> > This is of interest to use and our call stack query hacks, isn't kt?
>>>> >
>>>> > Gary
>>>> >
>>>> >
>>>> > -------- Original message --------
>>>> > From: "Rory O'Donnell Oracle, Dublin Ireland"
>>>> > Date:09/15/2014 06:17 (GMT-05:00)
>>>> > To: stephen.alan.connolly@gmail.com
>>>> <javascript:_e(%7B%7D,'cvml','stephen.alan.connolly@gmail.com');>
>>>> > Cc: Maven Developers List ,Balchandra Vaidya ,Dalibor Topic
>>>> > Subject: Re: Analysis of apache-maven-3.2.3's dependency on
>>>> JDK-Internal APIs
>>>> >
>>>> > Hi Stephen,
>>>> >
>>>> > One more time, hope this is ok.
>>>> >
>>>> > Rgds,Rory
>>>> >
>>>> >
>>>> >Â  Â JDK Internal API Usage Report for apache-maven-3.2.3
>>>> >
>>>> > The OpenJDK Quality Outreach campaign has run a compatibility report
>>>> to
>>>> > identify usage of JDK-internal APIs. Usage of these JDK-internal APIs
>>>> > could pose compatibility issues, as the Java team explained in 1996
>>>> > <http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
>>>> >.
>>>> > We have created this report to help you identify which JDK-internal
>>>> APIs
>>>> > your project uses, what to use instead, and where those changes should
>>>> > go. Making these changes will improve your compatibility, and in some
>>>> > cases give better performance.
>>>> >
>>>> > Migrating away from the JDK-internal APIs now will give your team
>>>> > adequate time for testing before the release of JDK 9. If you are
>>>> unable
>>>> > to migrate away from an internal API, please provide us with an
>>>> > explanation below to help us understand it better. As a reminder,
>>>> > supported APIs are determined by the OpenJDK's Java Community Process
>>>> > and not by Oracle.
>>>> >
>>>> > This report was generated by jdeps
>>>> > <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html
>>>> >
>>>> > through static analysis of artifacts: it does not identify any usage
>>>> of
>>>> > those APIs through reflection or dynamic bytecode. You may also run
>>>> > jdeps on your own
>>>> > <
>>>> https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>>>> >
>>>> > if you would prefer.
>>>> >
>>>> > Summary of the analysis of the jar files within apache-maven-3.2.3:
>>>> >
>>>> >Â  Â * Numer of jar files depending on JDK-internal APIs: 1
>>>> >Â  Â * Internal APIs that have known replacements: 0
>>>> >Â  Â * Internal APIs that your team should migrate away: 1
>>>> >
>>>> >
>>>> >Â  Â  Â  Â APIs that have known replacements
>>>> >Â  Â  Â  Â <
>>>> https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>>>> >:
>>>> >
>>>> > ID Replace Usage of With Inside
>>>> >
>>>> >
>>>> >Â  Â  Â  Â JDK-internal APIs without supported replacements:
>>>> >
>>>> > ID Internal APIs (do not use) Used by
>>>> > 1 sun.misc.Unsafe
>>>> >
>>>> >Â  Â * lib/guava-14.0.1.jar
>>>> >
>>>> > Explanation...
>>>> >
>>>> >
>>>> >Â  Â  Â  Â Identify External Replacements
>>>> >
>>>> > You should use a separate third-party library that performs this
>>>> > functionality.
>>>> >
>>>> > ID Internal API (grouped by package) Used By Identify External
>>>> > Replacement
>>>> >
>>>> >
>>>> > On 15/09/2014 10:22, Stephen Connolly wrote:
>>>> > > I think the mailing list stripped the attachment
>>>> > >
>>>> > > On Monday, 15 September 2014, Rory O'Donnell Oracle, Dublin Ireland
>>>> <
>>>> > > rory.odonnell@oracle.com
>>>> <javascript:_e(%7B%7D,'cvml','rory.odonnell@oracle.com');>> wrote:
>>>> > >
>>>> > >> Hi Robert,Kristian,
>>>> > >>
>>>> > >> As part of the preparations for JDK 9, Oracle's engineers have
been
>>>> > >> analyzing open source projects like yours to understand usage.
>>>> > >> One area of concern involves identifying compatibility problems,
>>>> such as
>>>> > >> reliance on JDK-internal APIs.
>>>> > >>
>>>> > >> Our engineers have already prepared guidance on migrating some
of
>>>> the more
>>>> > >> common usage patterns of JDK-internal APIs to supported public
>>>> interfaces.
>>>> > >> The list is on the OpenJDK wiki [0], along with instructions
on
>>>> how to run
>>>> > >> the jdeps analysis tool yourself .
>>>> > >>
>>>> > >> As part of the ongoing development of JDK 9, I would like to
>>>> encourage
>>>> > >> migration from JDK-internal APIs towards the supported Java
APIs.
>>>> I have
>>>> > >> prepared a report for your project release apache-maven-3.2.3
>>>> based on the
>>>> > >> jdeps output.
>>>> > >>
>>>> > >> The report is attached to this e-mail.
>>>> > >>
>>>> > >> For anything where your migration path is unclear, I would
>>>> appreciate
>>>> > >> comments on the JDK-internal API usage patterns in the attached
>>>> jdeps
>>>> > >> report - in particular comments elaborating on the rationale
for
>>>> them -
>>>> > >> either to me or on this list.
>>>> > >>
>>>> > >> Finding suitable replacements for unsupported interfaces is
not
>>>> always
>>>> > >> straightforward, which is why I am reaching out to you early
in
>>>> the JDK 9
>>>> > >> development cycle so you can give feedback about new APIs that
may
>>>> be
>>>> > >> needed to facilitate this exercise.
>>>> > >>
>>>> > >> Thank you in advance for any efforts and feedback helping us
make
>>>> JDK 9
>>>> > >> better.
>>>> > >>
>>>> > >> Rgds,Rory
>>>> > >>
>>>> > >> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+
>>>> > >> Analysis+Tool
>>>> > >>
>>>> > >> --
>>>> > >> Rgds,Rory O'Donnell
>>>> > >> Quality Engineering Manager
>>>> > >> Oracle EMEA , Dublin, Ireland
>>>> > >>
>>>> > >>
>>>> > >>
>>>> > >>
>>>> > >>
>>>> > >>
>>>> >
>>>> > --
>>>> > Rgds,Rory O'Donnell
>>>> > Quality Engineering Manager
>>>> > Oracle EMEA , Dublin, Ireland
>>>> >
>>>> >
>>>> >
>>>> >
>>>>
>>>>  ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
>>>> <javascript:_e(%7B%7D,'cvml','log4j-dev-unsubscribe@logging.apache.org');>
>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>> <javascript:_e(%7B%7D,'cvml','log4j-dev-help@logging.apache.org');>
>>>>
>>>>
>>>
>>>
>>> --
>>> E-Mail: garydgregory@gmail.com
>>> <javascript:_e(%7B%7D,'cvml','garydgregory@gmail.com');> | ggregory@apache.org
>>> <javascript:_e(%7B%7D,'cvml','ggregory@apache.org');>
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>>
>>> --
>>> Rgds,Rory O'Donnell
>>> Quality Engineering Manager
>>> Oracle EMEA , Dublin, Ireland
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> E-Mail: garydgregory@gmail.com
>> <javascript:_e(%7B%7D,'cvml','garydgregory@gmail.com');> | ggregory@apache.org
>> <javascript:_e(%7B%7D,'cvml','ggregory@apache.org');>
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
>
> --
> E-Mail: garydgregory@gmail.com
> <javascript:_e(%7B%7D,'cvml','garydgregory@gmail.com');> | ggregory@apache.org
> <javascript:_e(%7B%7D,'cvml','ggregory@apache.org');>
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>

Mime
View raw message