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

Anu Engineer commented on HDFS-10599:
-------------------------------------

[~manojg] Thanks for offering to take up this work. The issue is as follows. if 
you look at {{TestDiskBalancerCommand.java}}, you will see that it runs all 
commands using a function called runCommand, which in turn invokes 
{{runCommandInternal}}.

runCommandInternal calls into {{org.apache.hadoop.hdfs.tools.DiskBalancer}} 
directly. However, there is a set of magic that happens in the main of 
{{org.apache.hadoop.hdfs.tools.DiskBalancer}} class, which is bypassed in 
tests. The main invokes {{res = ToolRunner.run(shell, argv);}}. This provides 
such options as {{-fs}}, so currently the DiskBalancerCommand tests do not 
exercise the ToolRunner classes when the test code is run. This creates an 
imperfect test environment for the command line. Executing the main of 
{{org.apache.hadoop.hdfs.tools.DiskBalancer}} in {{runCommandInternal}} is the 
objective of this JIRA.

Please feel free to reach out to me if you need any more details.
CC: [~xiaobingo] to make sure that my explanation is correct.
 


> DiskBalancer: Execute CLI via Shell 
> ------------------------------------
>
>                 Key: HDFS-10599
>                 URL: https://issues.apache.org/jira/browse/HDFS-10599
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: balancer & mover
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Anu Engineer
>            Assignee: Manoj Govindassamy
>
> DiskBalancer CLI invokes CLI functions directly instead of shell. This is not 
> representative of how end users use it. To provide good unit test coverage, 
> we need to have tests where DiskBalancer CLI is invoked via shell.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to