MAPREDUCE-6363. [NNBench] Lease mismatch error when running with multiple mappers. Contributed by Brahma Reddy Battula.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9fd568bd Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9fd568bd Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9fd568bd Branch: refs/heads/YARN-2928 Commit: 9fd568bd0b118df95759d2514b375f111ce745fc Parents: 77bbe95 Author: Akira Ajisaka <[email protected]> Authored: Mon Jun 15 14:52:26 2015 -0700 Committer: Zhijie Shen <[email protected]> Committed: Thu Jun 18 11:10:06 2015 -0700 ---------------------------------------------------------------------- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../test/java/org/apache/hadoop/hdfs/NNBench.java | 15 +++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/9fd568bd/hadoop-mapreduce-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index ead80a0..3c2e8f9 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -495,6 +495,9 @@ Release 2.8.0 - UNRELEASED MAPREDUCE-6389. Fix BaileyBorweinPlouffe CLI usage message. (Brahma Reddy Battula via devaraj) + MAPREDUCE-6363. [NNBench] Lease mismatch error when running with multiple + mappers. (Brahma Reddy Battula via aajisaka) + Release 2.7.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/9fd568bd/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/hdfs/NNBench.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/hdfs/NNBench.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/hdfs/NNBench.java index bb50213..6c8ec17 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/hdfs/NNBench.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/hdfs/NNBench.java @@ -57,6 +57,9 @@ import org.apache.hadoop.mapred.Reporter; import org.apache.hadoop.mapred.OutputCollector; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapred.Reducer; +import org.apache.hadoop.mapreduce.MRJobConfig; +import org.apache.hadoop.mapreduce.TaskAttemptID; +import org.apache.hadoop.mapreduce.v2.api.records.TaskId; /** * This program executes a specified operation that applies load to @@ -687,6 +690,9 @@ public class NNBench { dataDirName = conf.get("test.nnbench.datadir.name"); op = conf.get("test.nnbench.operation"); readFile = conf.getBoolean("test.nnbench.readFileAfterOpen", false); + int taskId = + TaskAttemptID.forName(conf.get(MRJobConfig.TASK_ATTEMPT_ID)) + .getTaskID().getId(); long totalTimeTPmS = 0l; long startTimeTPmS = 0l; @@ -699,18 +705,19 @@ public class NNBench { successfulFileOps = 0l; if (barrier()) { + String filePrefix = "file_" + taskId + "_"; if (op.equals(OP_CREATE_WRITE)) { startTimeTPmS = System.currentTimeMillis(); - doCreateWriteOp("file_" + hostName + "_", reporter); + doCreateWriteOp(filePrefix, reporter); } else if (op.equals(OP_OPEN_READ)) { startTimeTPmS = System.currentTimeMillis(); - doOpenReadOp("file_" + hostName + "_", reporter); + doOpenReadOp(filePrefix, reporter); } else if (op.equals(OP_RENAME)) { startTimeTPmS = System.currentTimeMillis(); - doRenameOp("file_" + hostName + "_", reporter); + doRenameOp(filePrefix, reporter); } else if (op.equals(OP_DELETE)) { startTimeTPmS = System.currentTimeMillis(); - doDeleteOp("file_" + hostName + "_", reporter); + doDeleteOp(filePrefix, reporter); } endTimeTPms = System.currentTimeMillis();
