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]

Reply via email to