Namenode does not process block report if the rack-location script is not 
provided on namenode
----------------------------------------------------------------------------------------------

                 Key: HADOOP-3065
                 URL: https://issues.apache.org/jira/browse/HADOOP-3065
             Project: Hadoop Core
          Issue Type: Bug
          Components: dfs
            Reporter: dhruba borthakur
            Assignee: Devaraj Das


Per HADOOP-1985, If the namenode does not have a dnsToSwicthMapping specified, 
it does not process block reports from datanode(s). In the ResolutionMonitor, 
we have the following piece of code:

          List<String> rName = dnsToSwitchMapping.resolve(dnHosts);
          if (rName == null) {
            continue;
          }

Instead, we should probably set "DEFAULT RACK" for this datanode.

Also, when a processBlockRepont command is dropped by the namenode, it should 
log a message to facilitate debugging. The code in FSNamesystem.processReport 
could be something like this:

    if (node.getNetworkLocation().equals(NetworkTopology.UNRESOLVED)) {
      LOG.info("Ignoring block report from " + nodeID.getName() +
                      " because rack location for this datanode is still to be 
resolved.");
      return null; //drop the block report if the dn hasn't been resolved
    }





-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to