Skip to content

Commit

Permalink
HDFS-16540. Data locality is lost when DataNode pod restarts in kuber…
Browse files Browse the repository at this point in the history
…netes (#4170) (#4246)

Cherry-pick backport of 9ed8d60
  • Loading branch information
saintstack authored May 16, 2022
1 parent d58f9d4 commit 1d22687
Showing 1 changed file with 3 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1172,6 +1172,7 @@ public void registerDatanode(DatanodeRegistration nodeReg)
DatanodeDescriptor nodeN = host2DatanodeMap.getDatanodeByXferAddr(
nodeReg.getIpAddr(), nodeReg.getXferPort());

// Non-change. REMOVE. Number 2
if (nodeN != null && nodeN != nodeS) {
NameNode.LOG.info("BLOCK* registerDatanode: " + nodeN);
// nodeN previously served a different data storage,
Expand All @@ -1193,14 +1194,14 @@ public void registerDatanode(DatanodeRegistration nodeReg)
}
} else {
// nodeS is found
/* The registering datanode is a replacement node for the existing
/* The registering datanode is a replacement node for the existing
data storage, which from now on will be served by a new node.
If this message repeats, both nodes might have same storageID
by (insanely rare) random chance. User needs to restart one of the
nodes with its data cleared (or user can just remove the StorageID
value in "VERSION" file under the data directory of the datanode,
but this is might not work if VERSION file format has changed
*/
*/
NameNode.stateChangeLog.info("BLOCK* registerDatanode: " + nodeS
+ " is replaced by " + nodeReg + " with the same storageID "
+ nodeReg.getDatanodeUuid());
Expand Down

0 comments on commit 1d22687

Please sign in to comment.