[ 
https://issues.apache.org/jira/browse/HDFS-12948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16304154#comment-16304154
 ] 

Yiqun Lin commented on HDFS-12948:
----------------------------------

[~shashikant], thanks for reporting and working on this.
The patch looks good but it changes current behavior. Why not add this checking 
like this:
{code}
      try {
        nodes = Integer.parseInt(topVal);
      } catch (NumberFormatException nfe) {
        outputLine = String.format(
            "Top limit input is not numeric, using default top value %d.",
            getDefaultTop());
        LOG.info(outputLine);
        result.appendln(outputLine);
        nodes = getDefaultTop();
      }

      // value checking
      if (nodes <= 0) {
        throw new IllegalArgumentException(
            "Top limit input should be a positive numeric value");
      }
{code}
It should be okay that we use the default {{TOP}} value once we find input 
value is Illegal. Also the UT {{testReportInvalidTopLimit}} is not need be 
changed after this.

> DiskBalancer report command top option should only take positive numeric 
> values
> -------------------------------------------------------------------------------
>
>                 Key: HDFS-12948
>                 URL: https://issues.apache.org/jira/browse/HDFS-12948
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Shashikant Banerjee
>            Assignee: Shashikant Banerjee
>            Priority: Minor
>         Attachments: HDFS-12948.001.patch
>
>
> Currently , diskBalancer report command "top" option takes values like "AAA" 
> as well negative/decimal values and gives output. These invalid values should 
> not be processed and some error/warning should be given.
> For Example, 
> $ hdfs diskbalancer -report -top -100
> 17/12/19 15:07:01 INFO command.Command: Processing report command
> 17/12/19 15:07:02 INFO balancer.KeyManager: Block token params received from 
> NN: update interval=10hrs, 0sec, token lifetime=10hrs, 0sec
> 17/12/19 15:07:02 INFO block.BlockTokenSecretManager: Setting block keys
> 17/12/19 15:07:02 INFO balancer.KeyManager: Update block keys every 2hrs, 
> 30mins, 0sec
> 17/12/19 15:07:02 INFO command.Command: Reporting top -100 DataNode(s) 
> benefiting from running DiskBalancer.
> Processing report command
> Reporting top -100 DataNode(s) benefiting from running DiskBalancer.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to