If there are problems w/ JDK11 then we should be talking to oracle about them to have them fixed. Is there an ASF JIRA on this issue yet?
As usual, the large physical clusters will be slow to upgrade, but the smaller cloud ones can get away with being agile, and as I believe that YARN does let you run code with a different path to the jvm, people can mix things. This makes it possible for people to run java 11+ apps even if hadoop itself is on java 8. And this time we may want to think about: which release we declare "ready for Java 11", being proactive rather than lagging behind the public releases by many years (6=>7, 7=>8). Of course, we'll have to stay with the java 8 language for a while, but there's a lot more we can do there in our code. I'm currently (HADOOP-14556) embracing Optional, as it makes explicit when things are potentially null, and while its crippled by the java language itself (http://steveloughran.blogspot.com/2018/10/javas-use-of-checked-exceptions.html ), its still something we can embrace (*) Takanobu, I've been watching the work you, Akira and others have been putting in for java 9+ support and its wonderful, If we had an annual award for "persevering in the presence of extreme suffering" it'd be the top candidate for this year's work. it means we are lined up to let people run on Hadoop 11 if they want, and gives that option of moving to java 11 sooner rather than later. I'm also looking at JUnit 5, wondering when I can embrace it fully (i.e. not worry about cherry picking code into junit 4 tests) Thanks for all your work -Steve (*) I also have in the test code of that branch a bonding of UG.doAs which takes closures https://github.com/steveloughran/hadoop/blob/s3/HADOOP-14556-delegation-token/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/LambdaTestUtils.java#L865 lets me do things like assertEquals("FS username in doAs()", ALICE, doAs(bobUser, () -> fs.getUsername())) If someone wants to actually pull this support into UGI itself, happy to review. as moving our doAs code to things like bobUser.doAs(() -> fs.create(path)) will transform all those UGI code users. On 6 Nov 2018, at 05:57, Takanobu Asanuma <tasan...@apache.org<mailto:tasan...@apache.org>> wrote: Thanks for your reply, Owen. That said, I’d be surprised if the work items for JDK 9 and 10 aren’t a strict subset of the issues getting to JDK 11. Most of the issues that we have fixed are subset of the ones of JDK 11. But there seem to be some exceptions. HADOOP-15905 is a bug of JDK 9/10 which has been fixed in JDK 11. It is difficult to fix it since JDK 9/10 have already been EOL. I wonder if we should treat such a kind of error going forward. I've hit at least one pretty serious JVM bug in JDK 11 Could you please share that detail? In any case, we should be carefully that what version of Hadoop is ready for JDK 11. It will take some time yet. And we also need to keep supporting JDK 8 for a while. Regards, - Takanobu