HyukjinKwon commented on a change in pull request #21588: [SPARK-24590][BUILD]
Make Jenkins tests passed with hadoop 3 profile
URL: https://github.com/apache/spark/pull/21588#discussion_r264074790
##########
File path:
sql/hive/src/main/scala/org/apache/spark/sql/hive/client/IsolatedClientLoader.scala
##########
@@ -177,7 +177,10 @@ private[hive] class IsolatedClientLoader(
protected def isSharedClass(name: String): Boolean = {
val isHadoopClass =
- name.startsWith("org.apache.hadoop.") &&
!name.startsWith("org.apache.hadoop.hive.")
+ name.startsWith("org.apache.hadoop.") &&
!name.startsWith("org.apache.hadoop.hive.") ||
+ // Also, includes configuration2 as a min fix for Hadoop 3+ for now.
This is failed
+ // during class resolution. It is fine when 'sharesHadoopClasses' is
disabled.
+ name.startsWith("org.apache.commons.configuration2.")
Review comment:
@wangyum, if you face some errors like:
```
Suppressed: java.io.IOException: Failed to use
org.apache.hadoop.mapred.LocalClientProtocolProvider due to error:
at
org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:148)
... 72 more
Caused by:
org.apache.commons.configuration2.ex.ConfigurationRuntimeException:
java.lang.IllegalArgumentException: Cannot invoke
org.apache.commons.configuration2.AbstractConfiguration.setListDelimiterHandler
on bean class 'class org.apache.commons.configuration2.PropertiesConfiguration'
- argument type mismatch - had objects of type
"org.apache.commons.configuration2.convert.DefaultListDelimiterHandler" but
expected signature
"org.apache.commons.configuration2.convert.ListDelimiterHandler"
at
org.apache.commons.configuration2.beanutils.BeanHelper.createBean(BeanHelper.java:463)
at
org.apache.commons.configuration2.beanutils.BeanHelper.createBean(BeanHelper.java:479)
at
org.apache.commons.configuration2.beanutils.BeanHelper.createBean(BeanHelper.java:492)
at
org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResultInstance(BasicConfigurationBuilder.java:447)
at
org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResult(BasicConfigurationBuilder.java:417)
at
org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getConfiguration(BasicConfigurationBuilder.java:285)
at
org.apache.hadoop.metrics2.impl.MetricsConfig.loadFirst(MetricsConfig.java:119)
at
org.apache.hadoop.metrics2.impl.MetricsConfig.create(MetricsConfig.java:98)
at
org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:478)
at
org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:188)
at
org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:163)
at
org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:62)
at
org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:58)
at
org.apache.hadoop.mapred.LocalJobRunnerMetrics.create(LocalJobRunnerMetrics.java:45)
at
org.apache.hadoop.mapred.LocalJobRunner.<init>(LocalJobRunner.java:771)
at
org.apache.hadoop.mapred.LocalJobRunner.<init>(LocalJobRunner.java:764)
```
later, consider this fix. It's been too old so I forgot the exact context
about this but you might need this fix as well.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]