Yu Li created HBASE-15129:
-----------------------------

             Summary: Set default value for hbase.fs.tmp.dir rather than fully 
depend on hbase-default.xml
                 Key: HBASE-15129
                 URL: https://issues.apache.org/jira/browse/HBASE-15129
             Project: HBase
          Issue Type: Bug
            Reporter: Yu Li
            Assignee: Yu Li


One of our users has observed below error when our cluster upgrades from 
0.98.12 to 1.1.2:
{noformat}
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:639)
        at 
org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configureIncrementalLoad(HFileOutputFormat2.java:489)
{noformat}
And checking the application code:
{code}
  private Job createJob(Configuration jobConf) throws IOException {
    String tableName = jobConf.get(TABLE_NAME_KEY);
    Job job = new Job(jobConf);
    Configuration tableConf = HBaseConfiguration.create();
    HTable table = new HTable(tableConf, tableName);
    HFileOutputFormat2.configureIncrementalLoad(job, table);
    return job;
  }
{code}
We could see the user has his own hbase-independent job configuration, so our 
current code in HFileOutputFormat2:
{code}
Path partitionsPath = new Path(conf.get("hbase.fs.tmp.dir"), "partitions_" + 
UUID.randomUUID());
{code}
will return a null string and cause the above exception.

We propose to add default value in the code rather than depend on 
hbase-default.xml in this JIRA.

This is an improvement for HBASE-13625



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to