From 75a2560e51387ea31ef4609ef434475bbbc628f7 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Mon, 15 Jun 2015 14:52:26 -0700 Subject: [PATCH] MAPREDUCE-6363. [NNBench] Lease mismatch error when running with multiple mappers. Contributed by Brahma Reddy Battula. --- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../test/java/org/apache/hadoop/hdfs/NNBench.java | 15 +++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index f475454e1d..ec3b360aec 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -471,6 +471,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 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 bb5021391c..6c8ec175df 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.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 void map(Text key, 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 void map(Text key, 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();