Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-3065

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • None
    • 0.17.0
    • None
    • None

    Description

      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 }

      Attachments

        1. 3065.patch
          2 kB
          Devaraj Das

        Activity

          People

            ddas Devaraj Das
            dhruba Dhruba Borthakur
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: