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

mapreduce.job.classloader.system.classes semantics should be order-independent

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: hudson
    • Fix Version/s: 2.7.0
    • Component/s: None
    • Labels:
      None

      Description

      If we want to include package foo.bar.* but exclude all sub packages named foo.bar.tar.* in system classes, configuring "mapreduce.job.classloader.system.classes=foo.bar.,-foo.bar.tar." won't work. foo.bar.tar will still be pulled in. But if we change the order:

      "mapreduce.job.classloader.system.classes=-foo.bar.tar.,foo.bar.", then it will work.

      This bug is due to the implementation of ApplicationClassLoaser#isSystemClass in hadoop-common, where we simply return the matching result immediately when the class name hits the first match (either positive or negative).

        Attachments

        1. HADOOP-11211.003.patch
          5 kB
          Yitong Zhou
        2. HADOOP-11211.patch
          5 kB
          Yitong Zhou

          Issue Links

            Activity

              People

              • Assignee:
                timyitong Yitong Zhou
                Reporter:
                timyitong Yitong Zhou
              • Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: