From 24f91027d077db2340affa789977d65572f999e6 Mon Sep 17 00:00:00 2001 From: Cheng Pan Date: Sat, 18 Dec 2021 20:39:15 +0800 Subject: [PATCH] AuxService should not use class name as default system classes --- .../containermanager/AuxServices.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/AuxServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/AuxServices.java index 5697c8fad63f6..794ef9d9a4326 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/AuxServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/AuxServices.java @@ -240,7 +240,7 @@ private AuxiliaryService createAuxServiceFromLocalClasspath( } return AuxiliaryServiceWithCustomClassLoader.getInstance(conf, className, - appLocalClassPath, getSystemClasses(service, className)); + appLocalClassPath, getSystemClasses(service)); } /** @@ -292,7 +292,7 @@ private AuxiliaryService createAuxService(AuxServiceRecord service, + " is using the custom classloader with classpath " + destFiles); return AuxiliaryServiceWithCustomClassLoader.getInstance(conf, className, StringUtils.join(File.pathSeparatorChar, destFiles), - getSystemClasses(service, className)); + getSystemClasses(service)); } else { return createAuxServiceFromConfiguration(service); } @@ -681,15 +681,12 @@ private static String getClassName(AuxServiceRecord service) { return serviceConf.getProperty(CLASS_NAME); } - private static String[] getSystemClasses(AuxServiceRecord service, String - className) { - AuxServiceConfiguration serviceConf = - service.getConfiguration(); - if (serviceConf == null) { - return new String[]{className}; + private static String[] getSystemClasses(AuxServiceRecord service) { + AuxServiceConfiguration serviceConf = service.getConfiguration(); + if (serviceConf == null || serviceConf.getProperty(SYSTEM_CLASSES) == null) { + return new String[]{}; } - return StringUtils.split(serviceConf.getProperty(SYSTEM_CLASSES, - className)); + return StringUtils.split(serviceConf.getProperty(SYSTEM_CLASSES)); } /**