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)