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 ar...@apache.org on 2013/11/04 22:47:51 UTC
svn commit: r1538787 - in
/hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs:
CHANGES_HDFS-2832.txt
src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java
Author: arp
Date: Mon Nov 4 21:47:51 2013
New Revision: 1538787
URL: http://svn.apache.org/r1538787
Log:
HDFS-5455. NN should update storageMap on first heartbeat.
Modified:
hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-2832.txt
hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java
Modified: hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-2832.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-2832.txt?rev=1538787&r1=1538786&r2=1538787&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-2832.txt (original)
+++ hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-2832.txt Mon Nov 4 21:47:51 2013
@@ -68,3 +68,5 @@ IMPROVEMENTS:
HDFS-5448. Fix break caused by previous checkin for HDFS-5448. (Arpit
Agarwal)
+ HDFS-5455. NN should update storageMap on first heartbeat. (Arpit Agarwal)
+
Modified: hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java?rev=1538787&r1=1538786&r2=1538787&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java (original)
+++ hadoop/common/branches/HDFS-2832/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java Mon Nov 4 21:47:51 2013
@@ -350,18 +350,16 @@ public class DatanodeDescriptor extends
this.volumeFailures = volFailures;
for (StorageReport report : reports) {
DatanodeStorageInfo storage = storageMap.get(report.getStorageID());
- if (storage != null) {
- storage.receivedHeartbeat(report);
- totalCapacity += report.getCapacity();
- totalRemaining += report.getRemaining();
- totalBlockPoolUsed += report.getBlockPoolUsed();
- totalDfsUsed += report.getDfsUsed();
- } else {
- // This warning is generally benign during cluster initialization
- // when the heartbeat is received before the initial block reports
- // from each storage.
- LOG.warn("Unrecognized storage ID " + report.getStorageID());
+ if (storage == null) {
+ // This is seen during cluster initialization when the heartbeat
+ // is received before the initial block reports from each storage.
+ storage = updateStorage(new DatanodeStorage(report.getStorageID()));
}
+ storage.receivedHeartbeat(report);
+ totalCapacity += report.getCapacity();
+ totalRemaining += report.getRemaining();
+ totalBlockPoolUsed += report.getBlockPoolUsed();
+ totalDfsUsed += report.getDfsUsed();
}
rollBlocksScheduled(getLastUpdate());
@@ -651,6 +649,8 @@ public class DatanodeDescriptor extends
synchronized (storageMap) {
DatanodeStorageInfo storage = storageMap.get(s.getStorageID());
if (storage == null) {
+ LOG.info("Adding new storage ID " + s.getStorageID() +
+ " for DN " + getXferAddr());
storage = new DatanodeStorageInfo(this, s);
storageMap.put(s.getStorageID(), storage);
} else {