Просмотр исходного кода

AMBARI-18044. Storm service check failed during EU due to empty value of storm.topology.submission.notifier.plugin.class config

Sumit Mohanty 9 лет назад
Родитель
Сommit
e406be1818

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-site.xml

@@ -68,6 +68,6 @@
         <name>atlas.authentication.method</name>
       </property>
     </depends-on>
-    <on-ambari-upgrade add="true"/>
+    <on-ambari-upgrade add="false"/>
   </property>
 </configuration>

+ 4 - 3
ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py

@@ -730,10 +730,11 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
         application_classes = [item for item in notifier_plugin_value.split(",") if item != atlas_hook_class and item != " "]
         notifier_plugin_value = ",".join(application_classes) if application_classes else " "
 
-      if notifier_plugin_value != " " or \
-         (not atlas_is_present and atlas_hook_is_set):
-
+      if notifier_plugin_value.strip() != "":
         putStormStartupProperty(notifier_plugin_property, notifier_plugin_value)
+      else:
+        putStormStartupPropertyAttribute = self.putPropertyAttribute(configurations, "storm-site")
+        putStormStartupPropertyAttribute(notifier_plugin_property, 'delete', 'true')
 
   def getServiceConfigurationValidators(self):
     parentValidators = super(HDP23StackAdvisor, self).getServiceConfigurationValidators()

+ 1 - 2
ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py

@@ -1778,9 +1778,8 @@ class TestHDP23StackAdvisor(TestCase):
 
     services["services"] = []
     services["configurations"]["storm-site"]["properties"]["storm.topology.submission.notifier.plugin.class"] = "org.apache.atlas.storm.hook.StormAtlasHook"
-    expected["storm-site"]["properties"]["storm.topology.submission.notifier.plugin.class"] = " "
     self.stackAdvisor.recommendStormConfigurations(configurations, clusterData, services, hosts)
-    self.assertEquals(configurations, expected)
+    self.assertEquals(True, "storm.topology.submission.notifier.plugin.class" in configurations["storm-site"]["property_attributes"])
 
   def test_recommendSqoopConfigurations(self):
     self.maxDiff = None