From 4d5600f6c714732d16bed29f0bc210eb72901545 Mon Sep 17 00:00:00 2001 From: Eli Collins Date: Wed, 17 Oct 2012 21:34:48 +0000 Subject: [PATCH] HDFS-4068. DatanodeID and DatanodeInfo member should be private. Contributed by Eli Collins git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1399443 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 ++ .../hadoop/hdfs/protocol/DatanodeID.java | 12 +++++----- .../hadoop/hdfs/protocol/DatanodeInfo.java | 17 +++++++------ .../blockmanagement/DatanodeDescriptor.java | 24 +++++++++---------- .../blockmanagement/DatanodeManager.java | 6 ++--- .../server/protocol/DatanodeRegistration.java | 6 ++--- 6 files changed, 34 insertions(+), 33 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index bae058177a2..0ea165a9ac2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -396,6 +396,8 @@ Release 2.0.3-alpha - Unreleased HDFS-4029. GenerationStamp should use an AtomicLong. (eli) + HDFS-4068. DatanodeID and DatanodeInfo member should be private. (eli) + OPTIMIZATIONS BUG FIXES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeID.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeID.java index 1a923153402..ad1567fd39b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeID.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeID.java @@ -37,12 +37,12 @@ import org.apache.hadoop.classification.InterfaceStability; public class DatanodeID implements Comparable { public static final DatanodeID[] EMPTY_ARRAY = {}; - protected String ipAddr; // IP address - protected String hostName; // hostname - protected String storageID; // unique per cluster storageID - protected int xferPort; // data streaming port - protected int infoPort; // info server port - protected int ipcPort; // IPC server port + private String ipAddr; // IP address + private String hostName; // hostname + private String storageID; // unique per cluster storageID + private int xferPort; // data streaming port + private int infoPort; // info server port + private int ipcPort; // IPC server port public DatanodeID(DatanodeID from) { this(from.getIpAddr(), diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeInfo.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeInfo.java index 63cebb33078..cf7438a7ed5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeInfo.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/DatanodeInfo.java @@ -37,13 +37,13 @@ import org.apache.hadoop.util.Time; @InterfaceAudience.Private @InterfaceStability.Evolving public class DatanodeInfo extends DatanodeID implements Node { - protected long capacity; - protected long dfsUsed; - protected long remaining; - protected long blockPoolUsed; - protected long lastUpdate; - protected int xceiverCount; - protected String location = NetworkTopology.DEFAULT_RACK; + private long capacity; + private long dfsUsed; + private long remaining; + private long blockPoolUsed; + private long lastUpdate; + private int xceiverCount; + private String location = NetworkTopology.DEFAULT_RACK; // Datanode administrative states public enum AdminStates { @@ -81,8 +81,7 @@ public class DatanodeInfo extends DatanodeID implements Node { this.lastUpdate = from.getLastUpdate(); this.xceiverCount = from.getXceiverCount(); this.location = from.getNetworkLocation(); - this.adminState = from.adminState; - this.hostName = from.hostName; + this.adminState = from.getAdminState(); } public DatanodeInfo(DatanodeID nodeID) { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java index 304bdb18034..f09e18709b4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java @@ -276,11 +276,11 @@ public class DatanodeDescriptor extends DatanodeInfo { } public void resetBlocks() { - this.capacity = 0; - this.remaining = 0; - this.blockPoolUsed = 0; - this.dfsUsed = 0; - this.xceiverCount = 0; + setCapacity(0); + setRemaining(0); + setBlockPoolUsed(0); + setDfsUsed(0); + setXceiverCount(0); this.blockList = null; this.invalidateBlocks.clear(); this.volumeFailures = 0; @@ -303,15 +303,15 @@ public class DatanodeDescriptor extends DatanodeInfo { */ public void updateHeartbeat(long capacity, long dfsUsed, long remaining, long blockPoolUsed, int xceiverCount, int volFailures) { - this.capacity = capacity; - this.dfsUsed = dfsUsed; - this.remaining = remaining; - this.blockPoolUsed = blockPoolUsed; - this.lastUpdate = Time.now(); - this.xceiverCount = xceiverCount; + setCapacity(capacity); + setRemaining(remaining); + setBlockPoolUsed(blockPoolUsed); + setDfsUsed(dfsUsed); + setXceiverCount(xceiverCount); + setLastUpdate(Time.now()); this.volumeFailures = volFailures; this.heartbeatedSinceFailover = true; - rollBlocksScheduled(lastUpdate); + rollBlocksScheduled(getLastUpdate()); } /** diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java index 8b2613acc0c..094c7623d0a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java @@ -567,7 +567,7 @@ public class DatanodeManager { /** * Decommission the node if it is in exclude list. */ - private void checkDecommissioning(DatanodeDescriptor nodeReg, String ipAddr) { + private void checkDecommissioning(DatanodeDescriptor nodeReg) { // If the registered node is in exclude list, then decommission it if (inExcludedHostsList(nodeReg)) { startDecommission(nodeReg); @@ -713,7 +713,7 @@ public class DatanodeManager { // also treat the registration message as a heartbeat heartbeatManager.register(nodeS); - checkDecommissioning(nodeS, dnAddress); + checkDecommissioning(nodeS); return; } @@ -733,7 +733,7 @@ public class DatanodeManager { = new DatanodeDescriptor(nodeReg, NetworkTopology.DEFAULT_RACK); resolveNetworkLocation(nodeDescr); addDatanode(nodeDescr); - checkDecommissioning(nodeDescr, dnAddress); + checkDecommissioning(nodeDescr); // also treat the registration message as a heartbeat // no need to update its timestamp diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java index b736d1280b0..7815d808d62 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java @@ -82,9 +82,9 @@ public class DatanodeRegistration extends DatanodeID public String toString() { return getClass().getSimpleName() + "(" + getIpAddr() - + ", storageID=" + storageID - + ", infoPort=" + infoPort - + ", ipcPort=" + ipcPort + + ", storageID=" + getStorageID() + + ", infoPort=" + getInfoPort() + + ", ipcPort=" + getIpcPort() + ", storageInfo=" + storageInfo + ")"; }