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

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

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.23.1
    • None
    • 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.

      Attachments

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

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            umamaheswararao Uma Maheswara Rao G
            eli Eli Collins
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment