HDFS-49. MiniDFSCluster.stopDataNode will always shut down a node in the cluster if a matching name is not found. (stevel)

This commit is contained in:
Steve Loughran 2015-01-27 11:10:46 +00:00
parent 6f9fe76918
commit 0da53a37ec
2 changed files with 11 additions and 3 deletions

View File

@ -790,6 +790,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7676. Fix TestFileTruncate to avoid bug of HDFS-7611. (shv) HDFS-7676. Fix TestFileTruncate to avoid bug of HDFS-7611. (shv)
HDFS-49. MiniDFSCluster.stopDataNode will always shut down a node in
the cluster if a matching name is not found. (stevel)
Release 2.6.1 - UNRELEASED Release 2.6.1 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -1923,6 +1923,9 @@ public boolean changeGenStampOfBlock(int dnIndex, ExtendedBlock blk,
/* /*
* Shutdown a particular datanode * Shutdown a particular datanode
* @param i node index
* @return null if the node index is out of range, else the properties of the
* removed node
*/ */
public synchronized DataNodeProperties stopDataNode(int i) { public synchronized DataNodeProperties stopDataNode(int i) {
if (i < 0 || i >= dataNodes.size()) { if (i < 0 || i >= dataNodes.size()) {
@ -1941,18 +1944,20 @@ public synchronized DataNodeProperties stopDataNode(int i) {
/* /*
* Shutdown a datanode by name. * Shutdown a datanode by name.
* @return the removed datanode or null if there was no match
*/ */
public synchronized DataNodeProperties stopDataNode(String dnName) { public synchronized DataNodeProperties stopDataNode(String dnName) {
int i; int node = -1;
for (i = 0; i < dataNodes.size(); i++) { for (int i = 0; i < dataNodes.size(); i++) {
DataNode dn = dataNodes.get(i).datanode; DataNode dn = dataNodes.get(i).datanode;
LOG.info("DN name=" + dnName + " found DN=" + dn + LOG.info("DN name=" + dnName + " found DN=" + dn +
" with name=" + dn.getDisplayName()); " with name=" + dn.getDisplayName());
if (dnName.equals(dn.getDatanodeId().getXferAddr())) { if (dnName.equals(dn.getDatanodeId().getXferAddr())) {
node = i;
break; break;
} }
} }
return stopDataNode(i); return stopDataNode(node);
} }
/** /**