hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jerry He (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-9060) EXportSnapshot job fails if target path contains percentage character
Date Sun, 28 Jul 2013 06:25:48 GMT

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

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

    Description: 
Here is the stack trace:

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot table1_snapshot -copy-to hdfs:///myhbase%2Cbackup/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.

  was:
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.

    
> 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.95.1, 0.94.10
>            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:///myhbase%2Cbackup/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

Mime
View raw message