New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Netty 5] Use Java8 as minimum Java version #8540
Comments
Bold but interesting choice ! Java 11 is far from mainstream but it is all relative to 5.0 timeline as well so I am not too worried. We can still evaluate by then if we really needed any Java 9-11 API to achieve what we want. It seems that Finalizer/Cleaner/RefCounted might be one. I believe the non Java 8 API tho will be pretty limited but if that happens, I wonder if we should have a 4.2 both introducing new features/changes, along with deprecations and requiring Java 8 only. |
@smaldini sounds fair enough... That said I can at least think of two things that are interesting for us which are both not in Java8.
|
Yeah so we need to look at AsciiString vs String but that seems like a small price to pay to keep compat if it was the only thing. That's up for debate tho. |
Java 11 may be a bit too aggressive for gRPC to use it soon, as we may need to support "the last two LTS releases." That would mean it'd be 3 years from now before gRPC could use Netty 5. Our support timelines are still a bit up-in-the-air, though. @smaldini, #8052 will likely resolve the Concerning Compact strings/ |
I would have understood choosing JDK10 for Http/2 features, but you guys went straight from the goal of Java 8 to 11 ? |
@SharpMan none of the things here is written in stone and just suggestions. We would love to hear suggestions from the community |
@SharpMan HTTP Client has changed from JDK 10 to 11. In Java 10 it was only available from |
@SharpMan I think you'll find Netty 4.x is Java 6. Java 11 is also the next LTS. |
So everyone has to deal with commercial licenses 👏
Netty has to complete solving issues related to previous JDK versions in order to aim for the new java version. All the features mentioned on the Netty 5 report will take 2-3 years to be tested and released. So if we add the estimated time to fix JDK11 issues, it would take forever. |
Advancing Java Version
Cons:
|
So far we did not find any requirement for Java 11 but can life with Java 8 as minimum requirement. Let me close this one and update the title to reflect that we use Java8 as a minimum |
@normanmaurer #8838 is slated for Netty 5 and requires Java 11 |
@fabienrenaud doesn't require Java 11, it can be optional. |
Motivation: The workaround introduced by netty#203 (completed by netty#5644) on bug [JDK-6427854](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6427854) turns out to be no longer applicable since Java 1.7. Only first few builds of JDK 7 were affected by the bug, which got fixed in **build 8**. Since JDK 7 was feature complete in [build 123](https://blogs.oracle.com/java/post/jdk-7-feature-complete), there's no need to therefore apply the workaround since Java 1.7. Modifications: This commit makes sure the workaround (consisting in setting the system property `sun.nio.ch.bugLevel` to an empty string unless defined) doesn't get applied when the detected Java version is greater than or equal to 1.7. Result: The workaround gets only applied for Java versions strictly prior to 1.7. Conditioning the workaround to the Java version will incidentally help get rid of it when bumping up the minimum JDK support as proposed in various issues s.a. netty#8259 and netty#8540.
Motivation: The workaround introduced by #203 (completed by #5644) on bug [JDK-6427854](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6427854) turns out to be no longer applicable since Java 1.7. Only first few builds of JDK 7 were affected by the bug, which got fixed in **build 8**. Since JDK 7 was feature complete in [build 123](https://blogs.oracle.com/java/post/jdk-7-feature-complete), there's no need to therefore apply the workaround since Java 1.7. Modifications: This commit makes sure the workaround (consisting in setting the system property `sun.nio.ch.bugLevel` to an empty string unless defined) doesn't get applied when the detected Java version is greater than or equal to 1.7. Result: The workaround gets only applied for Java versions strictly prior to 1.7. Conditioning the workaround to the Java version will incidentally help get rid of it when bumping up the minimum JDK support as proposed in various issues s.a. #8259 and #8540.
@normanmaurer It looks like Netty 5's baseline is now JDK 11 #10650 . This issue and referenced PR mention that 4.x line is going to be supported for a time being. Could you please shed some light on the plans for the 4.x? For how long is it going to be supported? |
Motivation: The workaround introduced by netty#203 (completed by netty#5644) on bug [JDK-6427854](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6427854) turns out to be no longer applicable since Java 1.7. Only first few builds of JDK 7 were affected by the bug, which got fixed in **build 8**. Since JDK 7 was feature complete in [build 123](https://blogs.oracle.com/java/post/jdk-7-feature-complete), there's no need to therefore apply the workaround since Java 1.7. Modifications: This commit makes sure the workaround (consisting in setting the system property `sun.nio.ch.bugLevel` to an empty string unless defined) doesn't get applied when the detected Java version is greater than or equal to 1.7. Result: The workaround gets only applied for Java versions strictly prior to 1.7. Conditioning the workaround to the Java version will incidentally help get rid of it when bumping up the minimum JDK support as proposed in various issues s.a. netty#8259 and netty#8540.
Motivation: The workaround introduced by netty#203 (completed by netty#5644) on bug [JDK-6427854](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6427854) turns out to be no longer applicable since Java 1.7. Only first few builds of JDK 7 were affected by the bug, which got fixed in **build 8**. Since JDK 7 was feature complete in [build 123](https://blogs.oracle.com/java/post/jdk-7-feature-complete), there's no need to therefore apply the workaround since Java 1.7. Modifications: This commit makes sure the workaround (consisting in setting the system property `sun.nio.ch.bugLevel` to an empty string unless defined) doesn't get applied when the detected Java version is greater than or equal to 1.7. Result: The workaround gets only applied for Java versions strictly prior to 1.7. Conditioning the workaround to the Java version will incidentally help get rid of it when bumping up the minimum JDK support as proposed in various issues s.a. netty#8259 and netty#8540.
@kasobol-msft there is not real defined date yet but I am sure it will be quite some time |
Motivation: The workaround introduced by netty#203 (completed by netty#5644) on bug [JDK-6427854](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6427854) turns out to be no longer applicable since Java 1.7. Only first few builds of JDK 7 were affected by the bug, which got fixed in **build 8**. Since JDK 7 was feature complete in [build 123](https://blogs.oracle.com/java/post/jdk-7-feature-complete), there's no need to therefore apply the workaround since Java 1.7. Modifications: This commit makes sure the workaround (consisting in setting the system property `sun.nio.ch.bugLevel` to an empty string unless defined) doesn't get applied when the detected Java version is greater than or equal to 1.7. Result: The workaround gets only applied for Java versions strictly prior to 1.7. Conditioning the workaround to the Java version will incidentally help get rid of it when bumping up the minimum JDK support as proposed in various issues s.a. netty#8259 and netty#8540.
Netty 5 will move to Java 11 as minimum.
This is driven by the fact that we assume that the development of Netty 5 will take some time and for people that can not switch to Java11 there will still be support for netty 4.1.
The text was updated successfully, but these errors were encountered: