Skip to content

Hadoop 2.7.x is not compatible with Java 9 #25450

@jaymode

Description

@jaymode

In the CI tests for Java 9, we are getting failures in the hdfsFixture:

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:80)
    	at org.apache.hadoop.security.SecurityUtil.getAuthenticationMethod(SecurityUtil.java:611)
    	at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:272)
    	at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:311)
    	at hdfs.MiniHDFS.main(MiniHDFS.java:89)
    Caused by: java.lang.StringIndexOutOfBoundsException: begin 0, end 3, length 1
    	at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3116)
    	at java.base/java.lang.String.substring(String.java:1885)
    	at org.apache.hadoop.util.Shell.<clinit>(Shell.java:51)
    	... 5 more

https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+master+java9-periodic/3051/console

This is a known issue with Hadoop 2.7.x, https://issues.apache.org/jira/browse/HADOOP-14586, and it may not be fixed. A "hacky" workaround was used by the reported of the issue, https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;a=commitdiff;h=85a27a2. Maybe we can bring our version of the client jars up to a newer version?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions