Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13878

Set hbase.fs.tmp.dir config in HBaseTestingUtility.java for Phoenix UT to use

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.1.0, 1.2.0, 2.0.0
    • 0.98.14, 1.0.2, 1.2.0, 1.1.1, 2.0.0
    • test
    • None
    • Reviewed

    Description

      HBASE-13625 changed the HFileOutputFormat2 partitioner's path from using the hadoop.tmp.dir config to hbase.fs.tmp.dir config. However, some Apache Phoenix unit tests (org.apache.phoenix.mapreduce.CsvBulkLoadToolIT and org.apache.phoenix.mapreduce.IndexToolIT) fail due to null value in the hbase.fs.tmp.dir config. They were relied on the hadoop.tmp.dir set from HBaseTestingUtility.

      java.lang.IllegalArgumentException: Can not create a Path from a null string
      	at org.apache.hadoop.fs.Path.checkPathArg(Path.java:122)
      	at org.apache.hadoop.fs.Path.<init>(Path.java:134)
      	at org.apache.hadoop.fs.Path.<init>(Path.java:88)
      	at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configurePartitioner(HFileOutputFormat2.java:591)
      	at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configureIncrementalLoad(HFileOutputFormat2.java:440)
      	at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configureIncrementalLoad(HFileOutputFormat2.java:405)
      	at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat.configureIncrementalLoad(HFileOutputFormat.java:91)
      	at org.apache.phoenix.mapreduce.CsvBulkLoadTool$TableLoader.call(CsvBulkLoadTool.java:505)
      	at org.apache.phoenix.mapreduce.CsvBulkLoadTool$TableLoader.call(CsvBulkLoadTool.java:466)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      	at org.apache.phoenix.job.JobManager$InstrumentedJobFutureTask.run(JobManager.java:172)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:722)
      

      The proposal is to set hbase.fs.tmp.dir in HBaseTestingUtility#setupDataTestDir().

      Attachments

        1. HBASE-13878.patch
          0.7 kB
          Stephen Yuan Jiang
        2. HBASE-13878.v2.patch
          1 kB
          Stephen Yuan Jiang

        Activity

          People

            syuanjiang Stephen Yuan Jiang
            syuanjiang Stephen Yuan Jiang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: