Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-19221

Add winutils binaries to Path in AppVeyor for Hadoop libraries to call native libraries properly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.2.0
    • Project Infra, SparkR
    • None

    Description

      It seems Hadoop libraries need hadoop.dll for native libraries in the path. It is not a problem in tests for now because we are only testing SparkR on Windows via AppVeyor but it can be a problem if we run Scala tests via AppVeyor as below:

       - SPARK-18220: read Hive orc table with varchar column *** FAILED *** (3 seconds, 937 milliseconds)
         org.apache.spark.sql.execution.QueryExecutionException: FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
         at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$runHive$1.apply(HiveClientImpl.scala:625)
         at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$runHive$1.apply(HiveClientImpl.scala:609)
         at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$withHiveState$1.apply(HiveClientImpl.scala:283)
         at org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1(HiveClientImpl.scala:230)
         at org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked(HiveClientImpl.scala:229)
         at org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState(HiveClientImpl.scala:272)
         at org.apache.spark.sql.hive.client.HiveClientImpl.runHive(HiveClientImpl.scala:609)
         at org.apache.spark.sql.hive.client.HiveClientImpl.runSqlHive(HiveClientImpl.scala:599)
         at org.apache.spark.sql.hive.orc.OrcSuite$$anonfun$7.apply$mcV$sp(OrcSourceSuite.scala:159)
         at org.apache.spark.sql.hive.orc.OrcSuite$$anonfun$7.apply(OrcSourceSuite.scala:155)
         at org.apache.spark.sql.hive.orc.OrcSuite$$anonfun$7.apply(OrcSourceSuite.scala:155)
         at org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)
         at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
         at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
         at org.scalatest.Transformer.apply(Transformer.scala:22)
         at org.scalatest.Transformer.apply(Transformer.scala:20)
         at org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:166)
         at org.apache.spark.SparkFunSuite.withFixture(SparkFunSuite.scala:68)
         at org.scalatest.FunSuiteLike$class.invokeWithFixture$1(FunSuiteLike.scala:163)
         at org.scalatest.FunSuiteLike$$anonfun$runTest$1.apply(FunSuiteLike.scala:175)
         at org.scalatest.FunSuiteLike$$anonfun$runTest$1.apply(FunSuiteLike.scala:175)
         at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
         at org.scalatest.FunSuiteLike$class.runTest(FunSuiteLike.scala:175)
         at org.scalatest.FunSuite.runTest(FunSuite.scala:1555)
         at org.scalatest.FunSuiteLike$$anonfun$runTests$1.apply(FunSuiteLike.scala:208)
         at org.scalatest.FunSuiteLike$$anonfun$runTests$1.apply(FunSuiteLike.scala:208)
         at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:413)
         at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)
         at scala.collection.immutable.List.foreach(List.scala:381)
         at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)
         at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:396)
         at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:483)
         at org.scalatest.FunSuiteLike$class.runTests(FunSuiteLike.scala:208)
         at org.scalatest.FunSuite.runTests(FunSuite.scala:1555)
         at org.scalatest.Suite$class.run(Suite.scala:1424)
         at org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1555)
         at org.scalatest.FunSuiteLike$$anonfun$run$1.apply(FunSuiteLike.scala:212)
         at org.scalatest.FunSuiteLike$$anonfun$run$1.apply(FunSuiteLike.scala:212)
         at org.scalatest.SuperEngine.runImpl(Engine.scala:545)
         at org.scalatest.FunSuiteLike$class.run(FunSuiteLike.scala:212)
         at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterAll$$super$run(SparkFunSuite.scala:31)
         at org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257)
         at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256)
         at org.apache.spark.SparkFunSuite.run(SparkFunSuite.scala:31)
         at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:357)
         at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:502)
         at sbt.ForkMain$Run$2.call(ForkMain.java:296)
         at sbt.ForkMain$Run$2.call(ForkMain.java:286)
         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
         at java.lang.Thread.run(Thread.java:745)
      

      This is a potential problem which seems good to fix.

      Attachments

        Activity

          People

            hyukjin.kwon Hyukjin Kwon
            hyukjin.kwon Hyukjin Kwon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: