HBASE-25611 ExportSnapshot chmod flag uses value as decimal (#3003)

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
This commit is contained in:
Peter Somogyi 2021-03-02 11:23:10 +01:00
parent 0f84f77bb3
commit 0ffd42f5fd
2 changed files with 11 additions and 3 deletions

View File

@ -234,16 +234,24 @@ public abstract class AbstractHBaseTool implements Tool {
}
public int getOptionAsInt(CommandLine cmd, String opt, int defaultValue) {
return getOptionAsInt(cmd, opt, defaultValue, 10);
}
public int getOptionAsInt(CommandLine cmd, String opt, int defaultValue, int radix) {
if (cmd.hasOption(opt)) {
return Integer.parseInt(cmd.getOptionValue(opt));
return Integer.parseInt(cmd.getOptionValue(opt), radix);
} else {
return defaultValue;
}
}
public long getOptionAsLong(CommandLine cmd, String opt, int defaultValue) {
return getOptionAsLong(cmd, opt, defaultValue, 10);
}
public long getOptionAsLong(CommandLine cmd, String opt, int defaultValue, int radix) {
if (cmd.hasOption(opt)) {
return Long.parseLong(cmd.getOptionValue(opt));
return Long.parseLong(cmd.getOptionValue(opt), radix);
} else {
return defaultValue;
}

View File

@ -927,7 +927,7 @@ public class ExportSnapshot extends AbstractHBaseTool implements Tool {
mappers = getOptionAsInt(cmd, Options.MAPPERS.getLongOpt(), mappers);
filesUser = cmd.getOptionValue(Options.CHUSER.getLongOpt(), filesUser);
filesGroup = cmd.getOptionValue(Options.CHGROUP.getLongOpt(), filesGroup);
filesMode = getOptionAsInt(cmd, Options.CHMOD.getLongOpt(), filesMode);
filesMode = getOptionAsInt(cmd, Options.CHMOD.getLongOpt(), filesMode, 8);
bandwidthMB = getOptionAsInt(cmd, Options.BANDWIDTH.getLongOpt(), bandwidthMB);
overwrite = cmd.hasOption(Options.OVERWRITE.getLongOpt());
// And verifyChecksum and verifyTarget with values read from old args in processOldArgs(...).