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 <[email protected]> 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 <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 < >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 <[email protected] >>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 <[email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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: [email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');> >>>> > 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 >>>> < >>>> > > [email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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: [email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');> >>>> For additional commands, e-mail: [email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');> >>>> >>>> >>> >>> >>> -- >>> E-Mail: [email protected] >>> <javascript:_e(%7B%7D,'cvml','[email protected]');> | >>> [email protected] >>> <javascript:_e(%7B%7D,'cvml','[email protected]');> >>> 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: [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> | >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> 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: [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');> | [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');> > 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 > >
