Author: eli
Date: Fri Feb 24 21:18:23 2012
New Revision: 1293422
URL: http://svn.apache.org/viewvc?rev=1293422&view=rev
Log:
HDFS-3008. Negative caching of local addrs doesn't work. Contributed by Eli
Collins
Modified:
hadoop/common/branches/branch-1/CHANGES.txt
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java
Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1293422&r1=1293421&r2=1293422&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Fri Feb 24 21:18:23 2012
@@ -93,6 +93,8 @@ Release 1.1.0 - unreleased
HDFS-2869. Fix an error in the webhdfs docs for the mkdir op (harsh)
+ HDFS-3008. Negative caching of local addrs doesn't work. (eli)
+
IMPROVEMENTS
MAPREDUCE-3597. [Rumen] Provide a way to access other info of history file
Modified:
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java?rev=1293422&r1=1293421&r2=1293422&view=diff
==============================================================================
---
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java
(original)
+++
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java
Fri Feb 24 21:18:23 2012
@@ -371,11 +371,12 @@ public class DFSClient implements FSCons
private static boolean isLocalAddress(InetSocketAddress targetAddr) {
InetAddress addr = targetAddr.getAddress();
Boolean cached = localAddrMap.get(addr.getHostAddress());
- if (cached != null && cached) {
+ if (cached != null) {
if (LOG.isTraceEnabled()) {
- LOG.trace("Address " + targetAddr + " is local");
+ LOG.trace("Address " + targetAddr +
+ (cached ? " is local" : " is not local"));
}
- return true;
+ return cached;
}
// Check if the address is any local or loop back
@@ -390,7 +391,8 @@ public class DFSClient implements FSCons
}
}
if (LOG.isTraceEnabled()) {
- LOG.trace("Address " + targetAddr + " is local");
+ LOG.trace("Address " + targetAddr +
+ (local ? " is local" : " is not local"));
}
localAddrMap.put(addr.getHostAddress(), local);
return local;