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 >