You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Uma Maheswara Rao G (JIRA)" <ji...@apache.org> on 2012/07/04 04:01:34 UTC
[jira] [Commented] (HDFS-3482) hdfs balancer throws
ArrayIndexOutOfBoundsException if option is specified without arguments
[ https://issues.apache.org/jira/browse/HDFS-3482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406239#comment-13406239 ]
Uma Maheswara Rao G commented on HDFS-3482:
-------------------------------------------
Madhu, Thanks a lot for the patch. A few comments:
-
{code}
try {
+ Balancer.Cli.parse(parameters);
+ fail(reason);
+ } catch (Exception e) {
+ assertTrue(e instanceof IllegalArgumentException);
+ }
{code}
Please handle specific exception instead of handling genric one and checking for instanceOf.
-
{code}
try {
+ Balancer.Cli.parse(parameters);
+ fail(reason);
+ } catch (Exception e) {
+ assertTrue(e instanceof IllegalArgumentException);
+ }
{code}
same as above
-
How about adding below part before the if statements?
{code}
Preconditions.checkArgument(args.length >= 2, "args = "
+ Arrays.toString(args));
{code}
-
{code}
-
return new Parameters(policy, threshold);
- }
+ }
{code}
seems like wrong format here?
-
{code}
/**
+ * Test parse method in Balancer#Cli class with wrong number of params
+ */
{code}
format the header comment correctly. and also need not have empty line between header comment and @Test annotation.
-
args.length>= 2 ----> args.length >= 2 please note here, there should be one space before operator.
> hdfs balancer throws ArrayIndexOutOfBoundsException if option is specified without arguments
> --------------------------------------------------------------------------------------------
>
> Key: HDFS-3482
> URL: https://issues.apache.org/jira/browse/HDFS-3482
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: balancer
> Affects Versions: 2.0.0-alpha
> Reporter: Stephen Chu
> Assignee: madhukara phatak
> Priority: Minor
> Labels: newbie
> Attachments: HDFS-3482-1.patch, HDFS-3482-2.patch, HDFS-3482.patch
>
>
> When running the hdfs balancer with an option but no argument, we run into an ArrayIndexOutOfBoundsException. It's preferable to print the usage.
> {noformat}
> bash-3.2$ hdfs balancer -threshold
> Usage: java Balancer
> [-policy <policy>] the balancing policy: datanode or blockpool
> [-threshold <threshold>] Percentage of disk capacity
> Balancing took 261.0 milliseconds
> 12/05/31 09:38:46 ERROR balancer.Balancer: Exiting balancer due an exception
> java.lang.ArrayIndexOutOfBoundsException: 1
> at org.apache.hadoop.hdfs.server.balancer.Balancer$Cli.parse(Balancer.java:1505)
> at org.apache.hadoop.hdfs.server.balancer.Balancer$Cli.run(Balancer.java:1482)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.hadoop.hdfs.server.balancer.Balancer.main(Balancer.java:1555)
> bash-3.2$ hdfs balancer -policy
> Usage: java Balancer
> [-policy <policy>] the balancing policy: datanode or blockpool
> [-threshold <threshold>] Percentage of disk capacity
> Balancing took 261.0 milliseconds
> 12/05/31 09:39:03 ERROR balancer.Balancer: Exiting balancer due an exception
> java.lang.ArrayIndexOutOfBoundsException: 1
> at org.apache.hadoop.hdfs.server.balancer.Balancer$Cli.parse(Balancer.java:1520)
> at org.apache.hadoop.hdfs.server.balancer.Balancer$Cli.run(Balancer.java:1482)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.hadoop.hdfs.server.balancer.Balancer.main(Balancer.java:1555)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira