hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-9387) Fix namenodeUri parameter parsing in NNThroughputBenchmark
Date Tue, 17 Nov 2015 01:31:11 GMT

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

Hudson commented on HDFS-9387:
------------------------------

FAILURE: Integrated in Hadoop-Mapreduce-trunk #2611 (See [https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2611/])
HDFS-9387. Fix namenodeUri parameter parsing in NNThroughputBenchmark. (xyao: rev 2701f2d2558f3ade879539f3f7bedf749709f2f1)
* hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/NNThroughputBenchmark.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


> Fix namenodeUri parameter parsing in NNThroughputBenchmark
> ----------------------------------------------------------
>
>                 Key: HDFS-9387
>                 URL: https://issues.apache.org/jira/browse/HDFS-9387
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>            Reporter: Mingliang Liu
>            Assignee: Mingliang Liu
>             Fix For: 2.8.0
>
>         Attachments: HDFS-9387.000.patch
>
>
> In {{NNThroughputBenchmark$OperationStatsBase#verifyOpArgument()}}, the   {{namenodeUri}}
is always parsed from {{-namenode}} argument. This works just fine if the {{-op}} parameter
is not {{all}}, as the single benchmark will need to parse the {{namenodeUri}} from args anyway.
> When the {{-op}} is {{all}}, namely all sub-benchmark will run, multiple sub-benchmark
will call the {{verifyOpArgument()}} method. In this case, the first sub-benchmark reads the
{{namenode}} argument and removes it from args. The other sub-benchmarks will thereafter read
{{null}} value since the argument is removed. This contradicts the intension of providing
{{namenode}} for all sub-benchmarks.
> {code:title=current code}
>       try {
>         namenodeUri = StringUtils.popOptionWithArgument("-namenode", args);
>       } catch (IllegalArgumentException iae) {
>         printUsage();
>       }
> {code}
> The fix is to parse the {{namenodeUri}}, which is shared by all sub-benchmarks, from
{{-namenode}} argument only once. This follows the convention of parsing other global arguments
in {{OperationStatsBase#verifyOpArgument()}}.
> {code:title=simple fix}
>       if (args.indexOf("-namenode") >= 0) {
>         try {
>           namenodeUri = StringUtils.popOptionWithArgument("-namenode", args);
>         } catch (IllegalArgumentException iae) {
>           printUsage();
>         }
>       }
> {code}



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

Mime
View raw message