Yitong Zhou created HADOOP-11211: ------------------------------------ Summary: mapreduce.job.classloader.system.classes property behave differently when the exclusion and inclusion order is differnt Key: HADOOP-11211 URL: https://issues.apache.org/jira/browse/HADOOP-11211 Project: Hadoop Common Issue Type: Bug Reporter: Yitong Zhou
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). -- This message was sent by Atlassian JIRA (v6.3.4#6332)