This is an awesome idea. Honestly, I can't come up with strong technical arguments for Java 11 as a source level, I had no chance to work with it long enough, but it feels like a proper time to move to a "modern" technology. Subjectively I can say that Java 11 has a lot of good optimization and Ignite should run better on it. So it makes no sense to compile for 8 but recommend 11, you know.
вт, 8 дек. 2020 г. в 21:16, Данилов Семён <samvi...@yandex.ru>: > +1 for sure. AFAIK, the only thing holding us back from using Java 11 is > the dominance of Java 8, but I'm sure that by the time Ignite 3 is GA, > there will be much fewer Java 8 users if any significant number at all. By > the by, Ignite's sources need minimal effort to be able to be compiled with > Java 11 as a target. > > 08.12.2020, 15:00, "Nikolay Izhikov" <nizhi...@apache.org>: > > +1 for using java 11. > > > >> 8 дек. 2020 г., в 13:18, ткаленко кирилл <tkalkir...@yandex.ru> > написал(а): > >> > >> +1 > >> > >> 08.12.2020, 12:48, "Philipp Masharov" <masharov...@gmail.com>: > >>> Hello! > >>> > >>> Andrey's arguments are solid. > >>> > >>> On Tue, Dec 8, 2020 at 12:23 PM Pavel Tupitsyn <ptupit...@apache.org> > wrote: > >>> > >>>> +1, Java 11 seems to be the only right choice at the moment. > >>>> > >>>> On Tue, Dec 8, 2020 at 12:08 PM Alexey Zinoviev < > zaleslaw....@gmail.com> > >>>> wrote: > >>>> > >>>> > I totally support Java 11 for development. It's time to go forward > >>>> > > >>>> > вт, 8 дек. 2020 г. в 11:40, Andrey Gura <ag...@apache.org>: > >>>> > > >>>> > > Igniters, > >>>> > > > >>>> > > We already had some discussion about using modern Java versions > for > >>>> > > Ignite 3.0 development [1] but we still don't have consensus. > >>>> > > As I see from this discussion the strongest argument for Java > 11 is > >>>> > > the fact that Java 11 is the latest LTS release which will have > >>>> > > premier support until September 2023. So I don't see any reason > for > >>>> > > preferring any other version of Java at this moment. > >>>> > > > >>>> > > The purpose of this thread is to gather opinions about using > Java 11 > >>>> > > in the Ignite 3.0 project and, eventually, reach a consensus on > this. > >>>> > > > >>>> > > I want to share my several arguments in favor of abandoning > Java 8 and > >>>> > > preferring Java 11: > >>>> > > > >>>> > > * Java 8 has gone through the End of Public Updates process for > legacy > >>>> > > releases. So it doesn't make sense to start new development on > Java 8. > >>>> > > > >>>> > > * Java 9+ brings Jigsaw modularization which allows us to have > more > >>>> > > fine-grained structure of Ignite modules and APIs in the future. > >>>> > > > >>>> > > * Ignite actively uses Unsafe functionality which, firstly, > isn't > >>>> > > public, and secondly, leads to problems with running Ignite > under Java > >>>> > > 9+ (modularization which requires dozens of command-line > options in > >>>> > > order to forcibly export corresponding packages) and GraalVM. > Such a > >>>> > > situation could be described as bad user experience and we > should fix > >>>> > > it. Var handles [2] could be used for solving described > problems. > >>>> > > > >>>> > > * Java 9+ introduces Flight Recorder API [3] which could be > used in > >>>> > > the Ignite project for lightweight profiling of internal > processes. > >>>> > > > >>>> > > Please, share your opinions, objections and ideas about this > topic. I > >>>> > > hope we will not have serious disagreements and the consensus > will be > >>>> > > reached quickly. > >>>> > > > >>>> > > > >>>> > > 1. > >>>> > > > >>>> > > >>>> > http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSS-Ignite-3-0-development-approach-tp49922p50295.html > >>>> > > 2. > >>>> > > > >>>> > > >>>> > https://docs.oracle.com/javase/9/docs/api/java/lang/invoke/VarHandle.html > >>>> > > 3. > >>>> > > > >>>> > > >>>> > https://docs.oracle.com/en/java/javase/11/docs/api/jdk.jfr/jdk/jfr/FlightRecorder.html > >>>> > > > >>>> > > -- Sincerely yours, Ivan Bessonov