Hadoop Common
  1. Hadoop Common
  2. HADOOP-7424

Log an error if the topology script doesn't handle multiple args

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.23.1
    • Component/s: None
    • Labels:
    • Hadoop Flags:
      Reviewed

      Description

      ScriptBasedMapping#resolve currently warns and returns null if it passes n arguments to the topology script and gets back a different number of resolutions. This indicates a bug in the topology script (or it's input) and therefore should be an error.

      // invalid number of entries returned by the script
      LOG.warn("Script " + scriptName + " returned "
         + Integer.toString(m.size()) + " values when "
         + Integer.toString(names.size()) + " were expected.");
      return null;
      

      There's only one place in Hadoop (FSNamesystem init) where we pass multiple arguments to the topology script, and it only done for performance (to trigger resolution/caching of all the hosts in the includes file on startup). So currently a topology script that doesn't handle multiple arguments just means the initial cache population doesn't work.

      1. HADOOP-7424.patch
        1 kB
        Uma Maheswara Rao G

        Issue Links

          Activity

            People

            • Assignee:
              Uma Maheswara Rao G
              Reporter:
              Eli Collins
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development