Repository: ambari
Updated Branches:
  refs/heads/trunk 8d3d07a9c -> dd0bf23f1


AMBARI-20288. Cluster deployment using blueprint with empty configuration 
doesn't work with stack advisor enabled (Amruta Borkar via alejandro)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dd0bf23f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dd0bf23f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dd0bf23f

Branch: refs/heads/trunk
Commit: dd0bf23f1c12624f378ad25be6f74d2d1ad2dee8
Parents: 8d3d07a
Author: Alejandro Fernandez <afernan...@hortonworks.com>
Authored: Wed Mar 8 16:56:31 2017 -0800
Committer: Alejandro Fernandez <afernan...@hortonworks.com>
Committed: Wed Mar 8 16:56:31 2017 -0800

----------------------------------------------------------------------
 .../internal/BlueprintConfigurationProcessor.java         |  5 +++--
 .../internal/BlueprintConfigurationProcessorTest.java     | 10 +++++++++-
 2 files changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/dd0bf23f/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
index d4880b9..5732a1c 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
@@ -638,8 +638,9 @@ public class BlueprintConfigurationProcessor {
       for (Map.Entry<String, ValueAttributesInfo> valueAttrEntry :
         advisedConfig.getPropertyValueAttributes().entrySet()) {
         if ("true".equalsIgnoreCase(valueAttrEntry.getValue().getDelete())) {
-          configuration.removeProperty(configType, valueAttrEntry.getKey());
-          configTypesUpdated.add(configType);
+          if(null != configuration.removeProperty(configType, 
valueAttrEntry.getKey())) {
+            configTypesUpdated.add(configType);
+          }
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd0bf23f/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
index 928d1e0..d160050 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
@@ -6352,6 +6352,8 @@ public class BlueprintConfigurationProcessorTest {
     Map<String, String> dummySiteMap = new HashMap<String, String>();
     properties.put("dummy-site", dummySiteMap);
     dummySiteMap.put("dummy.prop", "dummyValue");
+    Map<String, String> dummy2SiteMap = new HashMap<String, String>();
+    properties.put("dummy2-site", dummy2SiteMap);
 
     Map<String, Map<String, String>> parentProperties = new HashMap<String, 
Map<String, String>>();
 
@@ -6389,8 +6391,9 @@ public class BlueprintConfigurationProcessorTest {
     assertNull(clusterConfig.getPropertyValue("core-site", 
"fs.stackDefault.key2"));
     // verify that fs.notStackDefault is not filtered out
     assertNotNull(clusterConfig.getPropertyValue("core-site", 
"fs.notStackDefault"));
-    assertEquals(2, topology.getAdvisedConfigurations().size());
+    assertEquals(3, topology.getAdvisedConfigurations().size());
     assertFalse(configTypes.contains("dummy-site"));
+    assertFalse(configTypes.contains("dummy2-site"));
   }
 
   @Test
@@ -7981,6 +7984,11 @@ public class BlueprintConfigurationProcessorTest {
     Map<String, String> dummyConfProp = new HashMap<String, String>();
     dummyConfProp.put("dummy.prop", "dummyValue");
     advMap.put("dummy-site", new AdvisedConfiguration(dummyConfProp, new 
HashMap<String, ValueAttributesInfo>()));
+    Map<String, ValueAttributesInfo> dummy2attrMap = new HashMap<String, 
ValueAttributesInfo>();
+    ValueAttributesInfo dummy2valInfo = new ValueAttributesInfo();
+    dummy2valInfo.setDelete("true");
+    dummy2attrMap.put("dummy2.property", dummy2valInfo);
+    advMap.put("dummy2-site", new AdvisedConfiguration(new HashMap<String, 
String>(), dummy2attrMap));
     return advMap;
   }
 

Reply via email to