Jerry He created HBASE-9060: ------------------------------- Summary: EXportSnapshot job fails if target path contains percentage character Key: HBASE-9060 URL: https://issues.apache.org/jira/browse/HBASE-9060 Project: HBase Issue Type: Bug Components: snapshots Affects Versions: 0.94.10, 0.95.1 Reporter: Jerry He Assignee: Jerry He Priority: Minor
Here is the stack trace: hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot table1_snapshot -copy-to hdfs:///myhbasebackup/table1_snapshot {code} 13/07/26 18:09:50 INFO mapred.JobClient: map 0% reduce 0% 13/07/26 18:09:58 INFO mapred.JobClient: Task Id : attempt_201307261804_0002_m_000001_0, Status : FAILED java.util.MissingFormatArgumentException: Format specifier ') from family1/table1=3567d8ac6cfee83dfe81c346f139fb9c-c5bc120475a54d188f30d4b621d505b1 to hdfs:/myhbase%2C' at java.util.Formatter.getArgument(Formatter.java:592) at java.util.Formatter.format(Formatter.java:561) at java.util.Formatter.format(Formatter.java:510) at java.lang.String.format(String.java:1977) at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.copyData(ExportSnapshot.java:274) at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.copyFile(ExportSnapshot.java:204) at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.map(ExportSnapshot.java:149) at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.map(ExportSnapshot.java:98) {code} The problem is this code in copyData(): {code} final String statusMessage = "copied %s/" + StringUtils.humanReadableInt(inputFileSize) + " (%.3f%%) from " + inputPath + " to " + outputPath; {code} Since we don't know what the path may contain that may confuse the formatter, we need to pull that part out of the format string. Also the percentage completion math seems to be wrong in the same code. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira