Igniters,
If to put aside the compilation task [1] on Java 9, nobody can start Ignite even in the compatibility mode on that version of JDK. That’s the reason [2]. Let’s fix this for 2.3 by expanding the “if” close to - !U.jdkVersion().contains("1.9")) Any objections? [1] https://issues.apache.org/jira/browse/IGNITE-4615 <https://issues.apache.org/jira/browse/IGNITE-4615> [2] https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java#L186 <https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java#L186> — Denis > Begin forwarded message: > > From: Paolo Di Tommaso <[hidden email]> > Subject: Re: Java 9 > Date: October 11, 2017 at 11:41:24 PM PDT > To: [hidden email] > Reply-To: [hidden email] > > Hi Denis, > > Neither in compatibility mode? I mean adding some --add-opens options <https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-2F61F3A9-0979-46A4-8B49-325BA0EE8B66> to access deprecated/internal apis? > > Almost any any existing Java app works in this way. I've tried that but it seems Ignite is throwing an exception because the Java version number does not match the expected pattern. > > Any workaround ? > > Cheers, > Paolo > > > On Thu, Oct 12, 2017 at 1:25 AM, Denis Magda <[hidden email] <mailto:[hidden email]>> wrote: > Hi Paolo, > > There is some work to do to make Ignite running on Java 9: > https://issues.apache.org/jira/browse/IGNITE-4615 <https://issues.apache.org/jira/browse/IGNITE-4615> > > Guess the version will be supported by the end of the year. > > — > Denis > >> On Oct 11, 2017, at 2:08 PM, Paolo Di Tommaso <[hidden email] <mailto:[hidden email]>> wrote: >> >> Hi, >> >> Which the minimal Ignite version that can run on Java 9 ? >> >> I'm trying Ignite 1.9 and I'm getting >> >> >> Caused by: java.lang.IllegalStateException: Ignite requires Java 7 or above. Current Java version is not supported: 9 >> at org.apache.ignite.internal.IgnitionEx.<clinit>(IgnitionEx.java:185) >> >> >> >> >> Thanks, >> Paolo >> > > |
Guys,
I analyzed what was done by Evgeniy Zhuravlev to make Ignite work on Java 9 (it was done long ago for Ignite 1.x): 1) We need to create two additional modules - one for Java 9 code, other for Java 7/8. Each module will contain version-specific stuff. Also we will need some additional logic to load either one or another module based Java version. May be some Maven magic will be required as well. 2) We need to fix a number of places: 2.1) IgnitionEx, GridDiscoveryManager - version resolution logic, minor thing 2.2) IgniteUtils.close - rely on deleted SharedSecrets.getJavaNetAccess(). getURLClassPath() 2.3) ATOMIC cache - rely on deleted Unsafe.monitorEnter()/monitorExit() 2.4) GridRestProtocolAdapter - rely on deleted BASE64Encoder 2.5) DirectByteBufferStreamImpl - rely on no longer accessible DirectBuffer. address() 2.6) GridNioServer, PlatformMemoryPool - rely on refactored Cleaner. 3) We need to execute full set of tests on TC before release. This will require additional efforts on TC configuration. I propose to move this task to AI 2.4 as it might take weeks. Vladimir. On Fri, Oct 13, 2017 at 2:33 AM, Denis Magda <[hidden email]> wrote: > Igniters, > > If to put aside the compilation task [1] on Java 9, nobody can start > Ignite even in the compatibility mode on that version of JDK. That’s the > reason [2]. > > Let’s fix this for 2.3 by expanding the “if” close to - > !U.jdkVersion().contains("1.9")) > > Any objections? > > [1] https://issues.apache.org/jira/browse/IGNITE-4615 < > https://issues.apache.org/jira/browse/IGNITE-4615> > [2] https://github.com/apache/ignite/blob/master/modules/ > core/src/main/java/org/apache/ignite/internal/IgnitionEx.java#L186 < > https://github.com/apache/ignite/blob/master/modules/ > core/src/main/java/org/apache/ignite/internal/IgnitionEx.java#L186> > > — > Denis > > > > Begin forwarded message: > > > > From: Paolo Di Tommaso <[hidden email]> > > Subject: Re: Java 9 > > Date: October 11, 2017 at 11:41:24 PM PDT > > To: [hidden email] > > Reply-To: [hidden email] > > > > Hi Denis, > > > > Neither in compatibility mode? I mean adding some --add-opens options < > https://docs.oracle.com/javase/9/migrate/toc.htm# > JSMIG-GUID-2F61F3A9-0979-46A4-8B49-325BA0EE8B66> to access > deprecated/internal apis? > > > > Almost any any existing Java app works in this way. I've tried that but > it seems Ignite is throwing an exception because the Java version number > does not match the expected pattern. > > > > Any workaround ? > > > > Cheers, > > Paolo > > > > > > On Thu, Oct 12, 2017 at 1:25 AM, Denis Magda <[hidden email] <mailto: > [hidden email]>> wrote: > > Hi Paolo, > > > > There is some work to do to make Ignite running on Java 9: > > https://issues.apache.org/jira/browse/IGNITE-4615 < > https://issues.apache.org/jira/browse/IGNITE-4615> > > > > Guess the version will be supported by the end of the year. > > > > — > > Denis > > > >> On Oct 11, 2017, at 2:08 PM, Paolo Di Tommaso < > [hidden email] <mailto:[hidden email]>> wrote: > >> > >> Hi, > >> > >> Which the minimal Ignite version that can run on Java 9 ? > >> > >> I'm trying Ignite 1.9 and I'm getting > >> > >> > >> Caused by: java.lang.IllegalStateException: Ignite requires Java 7 or > above. Current Java version is not supported: 9 > >> at org.apache.ignite.internal.IgnitionEx.<clinit>( > IgnitionEx.java:185) > >> > >> > >> > >> > >> Thanks, > >> Paolo > >> > > > > > > |
Considering the scope of the work to be done it sounds reasonable to move this task to the next release. Anyway, Java 9 was released just a couple of weeks ago and it’s normal to spend some time for the code adaptation avoiding any rush. We can release the next version by the end of the year which is ~2 months away.
— Denis > On Oct 17, 2017, at 5:50 AM, Vladimir Ozerov <[hidden email]> wrote: > > Guys, > > I analyzed what was done by Evgeniy Zhuravlev to make Ignite work on Java 9 > (it was done long ago for Ignite 1.x): > 1) We need to create two additional modules - one for Java 9 code, other > for Java 7/8. Each module will contain version-specific stuff. Also we will > need some additional logic to load either one or another module based Java > version. May be some Maven magic will be required as well. > 2) We need to fix a number of places: > 2.1) IgnitionEx, GridDiscoveryManager - version resolution logic, minor > thing > 2.2) IgniteUtils.close - rely on deleted SharedSecrets.getJavaNetAccess(). > getURLClassPath() > 2.3) ATOMIC cache - rely on deleted Unsafe.monitorEnter()/monitorExit() > 2.4) GridRestProtocolAdapter - rely on deleted BASE64Encoder > 2.5) DirectByteBufferStreamImpl - rely on no longer accessible DirectBuffer. > address() > 2.6) GridNioServer, PlatformMemoryPool - rely on refactored Cleaner. > 3) We need to execute full set of tests on TC before release. This will > require additional efforts on TC configuration. > > I propose to move this task to AI 2.4 as it might take weeks. > > Vladimir. > > On Fri, Oct 13, 2017 at 2:33 AM, Denis Magda <[hidden email]> wrote: > >> Igniters, >> >> If to put aside the compilation task [1] on Java 9, nobody can start >> Ignite even in the compatibility mode on that version of JDK. That’s the >> reason [2]. >> >> Let’s fix this for 2.3 by expanding the “if” close to - >> !U.jdkVersion().contains("1.9")) >> >> Any objections? >> >> [1] https://issues.apache.org/jira/browse/IGNITE-4615 < >> https://issues.apache.org/jira/browse/IGNITE-4615> >> [2] https://github.com/apache/ignite/blob/master/modules/ >> core/src/main/java/org/apache/ignite/internal/IgnitionEx.java#L186 < >> https://github.com/apache/ignite/blob/master/modules/ >> core/src/main/java/org/apache/ignite/internal/IgnitionEx.java#L186> >> >> — >> Denis >> >> >>> Begin forwarded message: >>> >>> From: Paolo Di Tommaso <[hidden email]> >>> Subject: Re: Java 9 >>> Date: October 11, 2017 at 11:41:24 PM PDT >>> To: [hidden email] >>> Reply-To: [hidden email] >>> >>> Hi Denis, >>> >>> Neither in compatibility mode? I mean adding some --add-opens options < >> https://docs.oracle.com/javase/9/migrate/toc.htm# >> JSMIG-GUID-2F61F3A9-0979-46A4-8B49-325BA0EE8B66> to access >> deprecated/internal apis? >>> >>> Almost any any existing Java app works in this way. I've tried that but >> it seems Ignite is throwing an exception because the Java version number >> does not match the expected pattern. >>> >>> Any workaround ? >>> >>> Cheers, >>> Paolo >>> >>> >>> On Thu, Oct 12, 2017 at 1:25 AM, Denis Magda <[hidden email] <mailto: >> [hidden email]>> wrote: >>> Hi Paolo, >>> >>> There is some work to do to make Ignite running on Java 9: >>> https://issues.apache.org/jira/browse/IGNITE-4615 < >> https://issues.apache.org/jira/browse/IGNITE-4615> >>> >>> Guess the version will be supported by the end of the year. >>> >>> — >>> Denis >>> >>>> On Oct 11, 2017, at 2:08 PM, Paolo Di Tommaso < >> [hidden email] <mailto:[hidden email]>> wrote: >>>> >>>> Hi, >>>> >>>> Which the minimal Ignite version that can run on Java 9 ? >>>> >>>> I'm trying Ignite 1.9 and I'm getting >>>> >>>> >>>> Caused by: java.lang.IllegalStateException: Ignite requires Java 7 or >> above. Current Java version is not supported: 9 >>>> at org.apache.ignite.internal.IgnitionEx.<clinit>( >> IgnitionEx.java:185) >>>> >>>> >>>> >>>> >>>> Thanks, >>>> Paolo >>>> >>> >>> >> >> |
On Tue, Oct 17, 2017 at 9:11 AM, Denis Magda <[hidden email]> wrote:
> Considering the scope of the work to be done it sounds reasonable to move > this task to the next release. Anyway, Java 9 was released just a couple of > weeks ago and it’s normal to spend some time for the code adaptation > avoiding any rush. We can release the next version by the end of the year > which is ~2 months away. > > I agree, let's push it to 2.4. However, I hope the community gets behind the Java 1.9 support and our users will not have to wait for too long. End of the year looks like a good target. |
Free forum by Nabble | Edit this page |