Repository: incubator-slider Updated Branches: refs/heads/develop ceac1f75f -> 083e1bea9
SLIDER-1204 Slider handles per.component for multiple components incorrectly Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/083e1bea Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/083e1bea Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/083e1bea Branch: refs/heads/develop Commit: 083e1bea9c45e4cb9d0213cd81bd336259657422 Parents: ceac1f7 Author: Billie Rinaldi <bil...@apache.org> Authored: Tue Feb 7 10:37:24 2017 -0800 Committer: Billie Rinaldi <bil...@apache.org> Committed: Tue Feb 7 10:37:24 2017 -0800 ---------------------------------------------------------------------- .../org/apache/slider/providers/agent/AgentKeys.java | 4 ++-- .../slider/providers/agent/AgentProviderService.java | 15 +++++++++++---- .../providers/agent/TestAgentProviderService.java | 3 ++- 3 files changed, 15 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/083e1bea/slider-core/src/main/java/org/apache/slider/providers/agent/AgentKeys.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentKeys.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentKeys.java index c7f8df2..cd937de 100644 --- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentKeys.java +++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentKeys.java @@ -87,8 +87,8 @@ public interface AgentKeys { String AGENT_CONFIG_FILE = "infra/conf/agent.ini"; String AGENT_VERSION_FILE = "infra/version"; String APP_PACKAGES_DIR = "app/packages"; - String PER_COMPONENT = "per.component"; - String PER_GROUP = "per.group"; + String PER_COMPONENT = ".per.component"; + String PER_GROUP = ".per.group"; String JAVA_HOME = "java_home"; String PACKAGE_LIST = "package_list"; http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/083e1bea/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java index 7f3b04e..047159c 100644 --- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java +++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java @@ -564,7 +564,8 @@ public class AgentProviderService extends AbstractProviderService implements buildCommandConfigurations(instanceDefinition.getAppConfOperations(), container.getId().toString(), roleName, roleGroup); localizeConfigFiles(launcher, roleName, roleGroup, getMetaInfo(roleGroup), - configurations, launcher.getEnv(), fileSystem); + configurations, launcher.getEnv(), fileSystem, + instanceDefinition.getAppConfOperations()); } String label = getContainerLabel(container, roleName, roleGroup); @@ -870,7 +871,8 @@ public class AgentProviderService extends AbstractProviderService implements Metainfo metainfo, Map<String, Map<String, String>> configs, MapOperations env, - SliderFileSystem fileSystem) + SliderFileSystem fileSystem, + ConfTreeOperations appConf) throws IOException { for (ConfigFile configFile : metainfo.getComponentConfigFiles(roleGroup)) { Map<String, String> config = ConfigUtils.replacePropsInConfig( @@ -883,10 +885,15 @@ public class AgentProviderService extends AbstractProviderService implements } localFile = new File(localFile, new File(fileName).getName()); + boolean perComponent = appConf.getComponentOptBool(roleGroup, + "conf." + configFile.getDictionaryName() + PER_COMPONENT, false); + boolean perGroup = appConf.getComponentOptBool(roleGroup, + "conf." + configFile.getDictionaryName() + PER_GROUP, false); + String folder = null; - if ("true".equals(config.get(PER_COMPONENT))) { + if (perComponent) { folder = roleName; - } else if ("true".equals(config.get(PER_GROUP))) { + } else if (perGroup) { folder = roleGroup; } http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/083e1bea/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java ---------------------------------------------------------------------- diff --git a/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java b/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java index cd853d6..f259664 100644 --- a/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java +++ b/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java @@ -1306,7 +1306,8 @@ public class TestAgentProviderService { (Metainfo)Matchers.anyObject(), anyMap(), (MapOperations)Matchers.anyObject(), - (SliderFileSystem)Matchers.anyObject()); + (SliderFileSystem)Matchers.anyObject(), + (ConfTreeOperations)Matchers.anyObject()); doReturn(Collections.emptyMap()).when(mockAps).getRoleClusterNodeMapping(); replay(access, ctx, container, sliderFileSystem, mockFs, launcher, launcher2);