[ 
https://issues.apache.org/jira/browse/HBASE-15129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yu Li updated HBASE-15129:
--------------------------
    Release Note: Before HBASE-15129, if somehow hbase-default.xml is not on 
classpath, default values for hbase.fs.tmp.dir and hbase.bulkload.staging.dir 
are left empty. After HBASE-15129,  default values of both properties are set 
to "/user/<user.name>/hbase-staging". 

Sorry for the lag but I'm just back from the Spring Festival vacation, here is 
the release note.
btw, Happy Chinese New Year to you all. [~ndimiduk] [~apurtell] [~busbey] 
[~enis] :-)

> 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: Improvement
>          Components: mapreduce
>            Reporter: Yu Li
>            Assignee: Yu Li
>             Fix For: 2.0.0, 1.2.0, 1.3.0, 1.1.4, 1.0.4, 0.98.18
>
>         Attachments: HBASE-15129.patch, HBASE-15129_v2.patch
>
>
> 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