You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by ha...@apache.org on 2010/12/14 18:42:40 UTC
svn commit: r1049193 - in /hadoop/hdfs/trunk: CHANGES.txt
src/java/org/apache/hadoop/hdfs/DFSClient.java
Author: hairong
Date: Tue Dec 14 17:42:40 2010
New Revision: 1049193
URL: http://svn.apache.org/viewvc?rev=1049193&view=rev
Log:
HDFS-1526. Dfs client name for a map/reduce task should be unique
among threads. Contributed by Hairong Kuang.
Modified:
hadoop/hdfs/trunk/CHANGES.txt
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/DFSClient.java
Modified: hadoop/hdfs/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/CHANGES.txt?rev=1049193&r1=1049192&r2=1049193&view=diff
==============================================================================
--- hadoop/hdfs/trunk/CHANGES.txt (original)
+++ hadoop/hdfs/trunk/CHANGES.txt Tue Dec 14 17:42:40 2010
@@ -4,6 +4,9 @@ Trunk (unreleased changes)
INCOMPATIBLE CHANGES
+ HDFS-1526. Dfs client name for a map/reduce task should be unique
+ among threads. (hairong)
+
NEW FEATURES
HDFS-1482. Add listCorruptFileBlocks to DistributedFileSystem.
Modified: hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/DFSClient.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/DFSClient.java?rev=1049193&r1=1049192&r2=1049193&view=diff
==============================================================================
--- hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/DFSClient.java (original)
+++ hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/DFSClient.java Tue Dec 14 17:42:40 2010
@@ -128,7 +128,7 @@ public class DFSClient implements FSCons
volatile boolean clientRunning = true;
private volatile FsServerDefaults serverDefaults;
private volatile long serverDefaultsLastUpdate;
- Random r = new Random();
+ static Random r = new Random();
final String clientName;
final LeaseChecker leasechecker = new LeaseChecker();
Configuration conf;
@@ -253,12 +253,9 @@ public class DFSClient implements FSCons
this.ugi = UserGroupInformation.getCurrentUser();
- String taskId = conf.get("mapred.task.id");
- if (taskId != null) {
- this.clientName = "DFSClient_" + taskId;
- } else {
- this.clientName = "DFSClient_" + r.nextInt();
- }
+ String taskId = conf.get("mapred.task.id", "NONMAPREDUCE");
+ this.clientName = "DFSClient_" + taskId + "_" +
+ r.nextInt() + "_" + Thread.currentThread().getId();
defaultBlockSize = conf.getLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, DEFAULT_BLOCK_SIZE);
defaultReplication = (short) conf.getInt("dfs.replication", 3);