Skip to content

Commit 15c0384

Browse files
tasanumadongjoon-hyun
authored andcommitted
[SPARK-26134][CORE] Upgrading Hadoop to 2.7.4 to fix java.version problem
## What changes were proposed in this pull request? When I ran spark-shell on JDK11+28(2018-09-25), It failed with the error below. ``` 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:273) at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:261) at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:791) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:761) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:634) at org.apache.spark.util.Utils$.$anonfun$getCurrentUserName$1(Utils.scala:2427) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2427) at org.apache.spark.SecurityManager.<init>(SecurityManager.scala:79) at org.apache.spark.deploy.SparkSubmit.secMgr$lzycompute$1(SparkSubmit.scala:359) at org.apache.spark.deploy.SparkSubmit.secMgr$1(SparkSubmit.scala:359) at org.apache.spark.deploy.SparkSubmit.$anonfun$prepareSubmitEnvironment$9(SparkSubmit.scala:367) at scala.Option.map(Option.scala:146) at org.apache.spark.deploy.SparkSubmit.prepareSubmitEnvironment(SparkSubmit.scala:367) at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:143) at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86) at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:927) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:936) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) Caused by: java.lang.StringIndexOutOfBoundsException: begin 0, end 3, length 2 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319) at java.base/java.lang.String.substring(String.java:1874) at org.apache.hadoop.util.Shell.<clinit>(Shell.java:52) ``` This is a Hadoop issue that fails to parse some java.version. It has been fixed from Hadoop-2.7.4(see [HADOOP-14586](https://issues.apache.org/jira/browse/HADOOP-14586)). Note, Hadoop-2.7.5 or upper have another problem with Spark ([SPARK-25330](https://issues.apache.org/jira/browse/SPARK-25330)). So upgrading to 2.7.4 would be fine for now. ## How was this patch tested? Existing tests. Closes apache#23101 from tasanuma/SPARK-26134. Authored-by: Takanobu Asanuma <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>
1 parent 8d54bf7 commit 15c0384

File tree

5 files changed

+20
-19
lines changed

5 files changed

+20
-19
lines changed

assembly/README

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ This module is off by default. To activate it specify the profile in the command
99

1010
If you need to build an assembly for a different version of Hadoop the
1111
hadoop-version system property needs to be set as in this example:
12-
-Dhadoop.version=2.7.3
12+
-Dhadoop.version=2.7.4

dev/deps/spark-deps-hadoop-2.7

+16-15
Original file line numberDiff line numberDiff line change
@@ -64,21 +64,21 @@ gson-2.2.4.jar
6464
guava-14.0.1.jar
6565
guice-3.0.jar
6666
guice-servlet-3.0.jar
67-
hadoop-annotations-2.7.3.jar
68-
hadoop-auth-2.7.3.jar
69-
hadoop-client-2.7.3.jar
70-
hadoop-common-2.7.3.jar
71-
hadoop-hdfs-2.7.3.jar
72-
hadoop-mapreduce-client-app-2.7.3.jar
73-
hadoop-mapreduce-client-common-2.7.3.jar
74-
hadoop-mapreduce-client-core-2.7.3.jar
75-
hadoop-mapreduce-client-jobclient-2.7.3.jar
76-
hadoop-mapreduce-client-shuffle-2.7.3.jar
77-
hadoop-yarn-api-2.7.3.jar
78-
hadoop-yarn-client-2.7.3.jar
79-
hadoop-yarn-common-2.7.3.jar
80-
hadoop-yarn-server-common-2.7.3.jar
81-
hadoop-yarn-server-web-proxy-2.7.3.jar
67+
hadoop-annotations-2.7.4.jar
68+
hadoop-auth-2.7.4.jar
69+
hadoop-client-2.7.4.jar
70+
hadoop-common-2.7.4.jar
71+
hadoop-hdfs-2.7.4.jar
72+
hadoop-mapreduce-client-app-2.7.4.jar
73+
hadoop-mapreduce-client-common-2.7.4.jar
74+
hadoop-mapreduce-client-core-2.7.4.jar
75+
hadoop-mapreduce-client-jobclient-2.7.4.jar
76+
hadoop-mapreduce-client-shuffle-2.7.4.jar
77+
hadoop-yarn-api-2.7.4.jar
78+
hadoop-yarn-client-2.7.4.jar
79+
hadoop-yarn-common-2.7.4.jar
80+
hadoop-yarn-server-common-2.7.4.jar
81+
hadoop-yarn-server-web-proxy-2.7.4.jar
8282
hk2-api-2.4.0-b34.jar
8383
hk2-locator-2.4.0-b34.jar
8484
hk2-utils-2.4.0-b34.jar
@@ -117,6 +117,7 @@ jersey-guava-2.22.2.jar
117117
jersey-media-jaxb-2.22.2.jar
118118
jersey-server-2.22.2.jar
119119
jetty-6.1.26.jar
120+
jetty-sslengine-6.1.26.jar
120121
jetty-util-6.1.26.jar
121122
jline-2.14.6.jar
122123
joda-time-2.9.3.jar

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
<sbt.project.name>spark</sbt.project.name>
119119
<slf4j.version>1.7.16</slf4j.version>
120120
<log4j.version>1.2.17</log4j.version>
121-
<hadoop.version>2.7.3</hadoop.version>
121+
<hadoop.version>2.7.4</hadoop.version>
122122
<protobuf.version>2.5.0</protobuf.version>
123123
<yarn.version>${hadoop.version}</yarn.version>
124124
<zookeeper.version>3.4.6</zookeeper.version>

resource-managers/kubernetes/integration-tests/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ properties to Maven. For example:
107107

108108
mvn integration-test -am -pl :spark-kubernetes-integration-tests_2.11 \
109109
-Pkubernetes -Pkubernetes-integration-tests \
110-
-Phadoop-2.7 -Dhadoop.version=2.7.3 \
110+
-Phadoop-2.7 -Dhadoop.version=2.7.4 \
111111
-Dspark.kubernetes.test.sparkTgz=spark-3.0.0-SNAPSHOT-bin-example.tgz \
112112
-Dspark.kubernetes.test.imageTag=sometag \
113113
-Dspark.kubernetes.test.imageRepo=docker.io/somerepo \

sql/hive/src/main/scala/org/apache/spark/sql/hive/client/IsolatedClientLoader.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ private[hive] object IsolatedClientLoader extends Logging {
6565
case e: RuntimeException if e.getMessage.contains("hadoop") =>
6666
// If the error message contains hadoop, it is probably because the hadoop
6767
// version cannot be resolved.
68-
val fallbackVersion = "2.7.3"
68+
val fallbackVersion = "2.7.4"
6969
logWarning(s"Failed to resolve Hadoop artifacts for the version $hadoopVersion. We " +
7070
s"will change the hadoop version from $hadoopVersion to $fallbackVersion and try " +
7171
"again. Hadoop classes will not be shared between Spark and Hive metastore client. " +

0 commit comments

Comments
 (0)