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

Jerry He updated HBASE-9060:
----------------------------

    Fix Version/s: 0.95.2
           Status: Patch Available  (was: Open)
    
> 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
>             Fix For: 0.95.2
>
>         Attachments: HBase-9060.patch
>
>
> 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

Reply via email to