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 <dma...@apache.org> 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 <paolo.ditomm...@gmail.com>
> > Subject: Re: Java 9
> > Date: October 11, 2017 at 11:41:24 PM PDT
> > To: u...@ignite.apache.org
> > Reply-To: u...@ignite.apache.org
> >
> > 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 <dma...@apache.org <mailto:
> dma...@apache.org>> 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 <
> paolo.ditomm...@gmail.com <mailto:paolo.ditomm...@gmail.com>> 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
> >>
> >
> >
>
>

Reply via email to