Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-12522

Wrong FS error during Tez merge files when warehouse and scratchdir are on different FS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.3.0, 2.0.0
    • Tez
    • None

    Description

      When hive.merge.tezfiles=true, and the warehouse dir/scratchdir are on different filesystems.

      2015-11-13 10:22:10,617 ERROR exec.Task (TezTask.java:execute(184)) - Failed to execute tez graph.
      java.lang.IllegalArgumentException: Wrong FS: wasb://chaoyiteztest@chaoyiteztest.blob.core.windows.net/hive/scratch/chaoyitest/c888f405-3c98-46b1-bf39-e57f067dfe4c/hive_2015-11-13_10-16-10_216_8161037519951665173-1/_tmp.-ext-10000, expected: hdfs://headnodehost:9000
      at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:645)
      at org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:193)
      at org.apache.hadoop.hdfs.DistributedFileSystem.access$000(DistributedFileSystem.java:105)
      at org.apache.hadoop.hdfs.DistributedFileSystem$19.doCall(DistributedFileSystem.java:1136)
      at org.apache.hadoop.hdfs.DistributedFileSystem$19.doCall(DistributedFileSystem.java:1132)
      at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
      at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1132)
      at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1423)
      at org.apache.hadoop.hive.ql.exec.tez.DagUtils.createVertex(DagUtils.java:579)
      at org.apache.hadoop.hive.ql.exec.tez.DagUtils.createVertex(DagUtils.java:1083)
      at org.apache.hadoop.hive.ql.exec.tez.TezTask.build(TezTask.java:329)
      at org.apache.hadoop.hive.ql.exec.tez.TezTask.execute(TezTask.java:156)
      at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
      at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85)
      at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1606)
      at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1367)
      at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1179)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1006)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:996)
      at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:247)
      at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:199)
      at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:410)
      at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:345)
      at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:733)
      at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
      at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
      at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
      2015-11-13 10:22:10,620 INFO hooks.ATSHook (ATSHook.java:<init>(84)) - Created ATS Hook
      

      When the scratchdir is set to the same FS as the warehouse the problem goes away.

      Attachments

        1. HIVE-12522.1.patch
          61 kB
          Jason Dere

        Activity

          People

            jdere Jason Dere
            jdere Jason Dere
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: