You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Gary Gregory <ga...@gmail.com> on 2014/09/15 12:55:30 UTC

Fwd: Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

This is of interest to use and our call stack query hacks, isn't kt?

Gary

<div>-------- Original message --------</div><div>From: "Rory O'Donnell Oracle, Dublin Ireland" <ro...@oracle.com> </div><div>Date:09/15/2014  06:17  (GMT-05:00) </div><div>To: stephen.alan.connolly@gmail.com </div><div>Cc: Maven Developers List <de...@maven.apache.org>,Balchandra Vaidya <Ba...@oracle.com>,Dalibor Topic <da...@oracle.com> </div><div>Subject: Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs </div><div>
</div>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> 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





Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Remko Popma <re...@gmail.com>.
(Dropped Oracle people from recipients)

MemoryMappedFileAppender is still in progress in a local branch. I haven't been able to spend much time on it yet. I'll push the branch when I get some unit tests working. 

Sent from my iPhone

> On 2014/09/15, at 23:47, Gary Gregory <ga...@gmail.com> wrote:
> 
>> On Mon, Sep 15, 2014 at 10:35 AM, Remko Popma <re...@gmail.com> wrote:
>> 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...
> 
> Is the MemoryMappedFileAppender on a branch? I do not see it in master...
> 
> Gary
> 
>> 
>> 
>>> On Monday, September 15, 2014, Remko Popma <re...@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 <ga...@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 <ga...@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 <ro...@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 <rg...@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 <ga...@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
>>>>>>>> > 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> 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
>>>>>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>> JUnit in Action, Second Edition
>>>>>>> Spring Batch in Action
>>>>>>> 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 | ggregory@apache.org 
>>>>> Java Persistence with Hibernate, Second Edition
>>>>> JUnit in Action, Second Edition
>>>>> Spring Batch in Action
>>>>> Blog: http://garygregory.wordpress.com 
>>>>> Home: http://garygregory.com/
>>>>> Tweet! http://twitter.com/GaryGregory
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
>>>> Java Persistence with Hibernate, Second Edition
>>>> JUnit in Action, Second Edition
>>>> Spring Batch in Action
>>>> Blog: http://garygregory.wordpress.com 
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
> 
> 
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

Re: Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Matt Sicker <bo...@gmail.com>.
There are two main private APIs I know of right away (Log4j uses one of
them if available, and the other one is only relevant to the async loggers):

sun.reflect.Reflection (getCallerClass())
sun.misc.Unsafe (LMAX Disruptor uses it, so without a similar core library
in the JDK, that's the only way to obtain enough control over memory to
allow the idea to work properly in Java)

So mainly, a replacement for quickly reflecting on the call stack would be
nice. I took at look at the C++ code, and unfortunately, there is no way to
do the same through JNI without depending on the internal OpenJDK headers.
Perhaps making the parameterless version of getCallerClass() along with the
annotation public would go a long way?

On 15 September 2014 09:47, Gary Gregory <ga...@gmail.com> wrote:

> On Mon, Sep 15, 2014 at 10:35 AM, Remko Popma <re...@gmail.com>
> wrote:
>
>> 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...
>
>
> Is the MemoryMappedFileAppender on a branch? I do not see it in master...
>
> Gary
>
>
>>
>> On Monday, September 15, 2014, Remko Popma <re...@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 <ga...@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 <ga...@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
>>>> <ro...@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 <rg...@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 <ga...@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
>>>>>> > 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> 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
>>>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> E-Mail: garydgregory@gmail.com | 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 | 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 | 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 | 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
>



-- 
Matt Sicker <bo...@gmail.com>

Re: Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Gary Gregory <ga...@gmail.com>.
On Mon, Sep 15, 2014 at 10:35 AM, Remko Popma <re...@gmail.com> wrote:

> 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...


Is the MemoryMappedFileAppender on a branch? I do not see it in master...

Gary


>
> On Monday, September 15, 2014, Remko Popma <re...@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 <ga...@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 <ga...@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> 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 <rg...@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 <ga...@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
>>>>> > 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> 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
>>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: garydgregory@gmail.com | 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 | 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 | 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 | 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

Re: Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Remko Popma <re...@gmail.com>.
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 <re...@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
>
>

Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Remko Popma <re...@gmail.com>.
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 <ga...@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 <ga...@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 <ro...@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 <rg...@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 <ga...@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
>>>>> > 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> 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
>>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
>>>> Java Persistence with Hibernate, Second Edition
>>>> JUnit in Action, Second Edition
>>>> Spring Batch in Action
>>>> 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 | ggregory@apache.org 
>> Java Persistence with Hibernate, Second Edition
>> JUnit in Action, Second Edition
>> Spring Batch in Action
>> Blog: http://garygregory.wordpress.com 
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
> 
> 
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Gary Gregory <ga...@gmail.com>.
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 <ga...@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> 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 <rg...@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 <ga...@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
>>> > 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> 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
>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>
>>>
>>
>>
>> --
>> E-Mail: garydgregory@gmail.com | 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 | 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 | 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

Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Gary Gregory <ga...@gmail.com>.
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> 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 <rg...@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 <ga...@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
>> > 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> 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
>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>
>>
>
>
> --
> E-Mail: garydgregory@gmail.com | 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 | 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

Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by "Rory O'Donnell Oracle, Dublin Ireland" <ro...@oracle.com>.
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 
> <ma...@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 <ma...@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
>     <ma...@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 <ma...@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
>     <ma...@logging.apache.org>
>     For additional commands, e-mail: log4j-dev-help@logging.apache.org
>     <ma...@logging.apache.org>
>
>
>
>
> -- 
> E-Mail: garydgregory@gmail.com <ma...@gmail.com> | 
> ggregory@apache.org <ma...@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 
> <http://garygregory.wordpress.com/>
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland





Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Gary Gregory <ga...@gmail.com>.
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 <rg...@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 <ga...@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
> > 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> 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
> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | 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

Re: Analysis of apache-maven-3.2.3's dependency on JDK-Internal APIs

Posted by Ralph Goers <rg...@apache.org>.
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 <ga...@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
> 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> 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
For additional commands, e-mail: log4j-dev-help@logging.apache.org