YARN-8810. Fixed a YARN service bug in comparing ConfigFile object. Contributed by Chandni Singh
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3bfd214a Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3bfd214a Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3bfd214a Branch: refs/heads/HDDS-4 Commit: 3bfd214a59a60263aff67850c4d646c64fd76a01 Parents: 657032f Author: Eric Yang <ey...@apache.org> Authored: Tue Oct 16 18:54:40 2018 -0400 Committer: Eric Yang <ey...@apache.org> Committed: Tue Oct 16 18:54:40 2018 -0400 ---------------------------------------------------------------------- .../yarn/service/UpgradeComponentsFinder.java | 2 +- .../yarn/service/api/records/ConfigFile.java | 3 +- .../TestDefaultUpgradeComponentsFinder.java | 40 ++++++++++++++++++-- 3 files changed, 40 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/3bfd214a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/UpgradeComponentsFinder.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/UpgradeComponentsFinder.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/UpgradeComponentsFinder.java index 19ff6db..96a34f4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/UpgradeComponentsFinder.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/UpgradeComponentsFinder.java @@ -88,7 +88,7 @@ public interface UpgradeComponentsFinder { } if (!Objects.equals(currentDef.getConfiguration(), - currentDef.getConfiguration())) { + targetDef.getConfiguration())) { return targetDef.getComponents(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/3bfd214a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/api/records/ConfigFile.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/api/records/ConfigFile.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/api/records/ConfigFile.java index cd9dc84..1cdae86 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/api/records/ConfigFile.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/api/records/ConfigFile.java @@ -199,7 +199,8 @@ public class ConfigFile implements Serializable { ConfigFile configFile = (ConfigFile) o; return Objects.equals(this.type, configFile.type) && Objects.equals(this.destFile, configFile.destFile) - && Objects.equals(this.srcFile, configFile.srcFile); + && Objects.equals(this.srcFile, configFile.srcFile) + && Objects.equals(this.properties, configFile.properties); } @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/3bfd214a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/test/java/org/apache/hadoop/yarn/service/TestDefaultUpgradeComponentsFinder.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/test/java/org/apache/hadoop/yarn/service/TestDefaultUpgradeComponentsFinder.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/test/java/org/apache/hadoop/yarn/service/TestDefaultUpgradeComponentsFinder.java index b0a01b3..304e740 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/test/java/org/apache/hadoop/yarn/service/TestDefaultUpgradeComponentsFinder.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/test/java/org/apache/hadoop/yarn/service/TestDefaultUpgradeComponentsFinder.java @@ -17,14 +17,15 @@ */ package org.apache.hadoop.yarn.service; +import com.google.common.collect.Lists; import org.apache.hadoop.yarn.service.api.records.Component; +import org.apache.hadoop.yarn.service.api.records.ConfigFile; +import org.apache.hadoop.yarn.service.api.records.Configuration; import org.apache.hadoop.yarn.service.api.records.Service; import org.junit.Assert; import org.junit.Test; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.*; import static org.junit.Assert.assertEquals; @@ -86,4 +87,37 @@ public class TestDefaultUpgradeComponentsFinder { expected, finder.findTargetComponentSpecs(currentDef, targetDef)); } + + @Test + public void testChangeInConfigFileProperty() { + ConfigFile file = new ConfigFile().srcFile("src").destFile("dest") + .type(ConfigFile.TypeEnum.HADOOP_XML); + + Map<String, String> props = new HashMap<>(); + props.put("k1", "v1"); + file.setProperties(props); + + Configuration conf = new Configuration().files(Lists.newArrayList(file)); + + Service currentDef = TestServiceManager.createBaseDef("test"); + currentDef.setConfiguration(conf); + + // new spec has changes in config file property + file = new ConfigFile().srcFile("src").destFile("dest") + .type(ConfigFile.TypeEnum.HADOOP_XML); + Map<String, String> changedProps = new HashMap<>(); + changedProps.put("k1", "v2"); + file.setProperties(changedProps); + + conf = new Configuration().files(Lists.newArrayList(file)); + + Service targetDef = TestServiceManager.createBaseDef("test"); + targetDef.setConfiguration(conf); + + List<Component> expected = new ArrayList<>(); + expected.addAll(targetDef.getComponents()); + + assertEquals("all components needs upgrade", + expected, finder.findTargetComponentSpecs(currentDef, targetDef)); + } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org