AMBARI-20279. HiveServerInteractive. Set value for 
num_llap_nodes_for_llap_daemons only if it exists in hive-interactive-site.


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

Branch: refs/heads/branch-feature-AMBARI-12556
Commit: 1142b526195feced7b42c82119220e065d56e24b
Parents: 7e2eb29
Author: Swapan Shridhar <sshrid...@hortonworks.com>
Authored: Thu Mar 2 14:25:12 2017 -0800
Committer: Swapan Shridhar <sshrid...@hortonworks.com>
Committed: Thu Mar 2 17:19:33 2017 -0800

----------------------------------------------------------------------
 .../YARN/3.0.0.3.0/service_advisor.py           | 15 ++++++++--
 .../stacks/HDP/2.5/services/stack_advisor.py    | 17 +++++++++--
 .../stacks/2.5/common/test_stack_advisor.py     | 30 +++++++++++++-------
 3 files changed, 45 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/1142b526/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py
 
b/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py
index 3629f30..3d77a26 100644
--- 
a/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py
+++ 
b/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py
@@ -918,8 +918,12 @@ class YARNRecommender(service_advisor.ServiceAdvisor):
     else:
       Logger.info("DBG: Used num_llap_nodes for calculations : 
{0}".format(num_llap_nodes_requested))
 
-    putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 
num_llap_nodes)
-    Logger.info("DBG: Setting config 'num_llap_nodes_for_llap_daemons' as : 
{0}".format(num_llap_nodes))
+    # Safeguard for not adding "num_llap_nodes_for_llap_daemons" if it doesnt 
exist in hive-interactive-site.
+    # This can happen if we upgrade from Ambari 2.4 (with HDP 2.5) to Ambari 
2.5, as this config is from 2.6 stack onwards only.
+    if "hive-interactive-env" in services["configurations"] and \
+        "num_llap_nodes_for_llap_daemons" in 
services["configurations"]["hive-interactive-env"]["properties"]:
+      putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 
num_llap_nodes)
+      Logger.info("DBG: Setting config 'num_llap_nodes_for_llap_daemons' as : 
{0}".format(num_llap_nodes))
 
     llap_container_size = long(llap_daemon_mem_per_node)
     putHiveInteractiveSiteProperty('hive.llap.daemon.yarn.container.mb', 
llap_container_size)
@@ -980,7 +984,12 @@ class YARNRecommender(service_advisor.ServiceAdvisor):
     
putHiveInteractiveSitePropertyAttribute('hive.server2.tez.sessions.per.default.queue',
 "minimum", 1)
     
putHiveInteractiveSitePropertyAttribute('hive.server2.tez.sessions.per.default.queue',
 "maximum", 1)
     putHiveInteractiveEnvProperty('num_llap_nodes', 0)
-    putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 0)
+
+    # Safeguard for not adding "num_llap_nodes_for_llap_daemons" if it doesnt 
exist in hive-interactive-site.
+    # This can happen if we upgrade from Ambari 2.4 (with HDP 2.5) to Ambari 
2.5, as this config is from 2.6 stack onwards only.
+    if "hive-interactive-env" in services["configurations"] and \
+        "num_llap_nodes_for_llap_daemons" in 
services["configurations"]["hive-interactive-env"]["properties"]:
+      putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 0)
     putHiveInteractiveEnvPropertyAttribute('num_llap_nodes', "minimum", 1)
     putHiveInteractiveEnvPropertyAttribute('num_llap_nodes', "maximum", 
node_manager_cnt)
     putHiveInteractiveSiteProperty('hive.llap.daemon.yarn.container.mb', 
yarn_min_container_size)

http://git-wip-us.apache.org/repos/asf/ambari/blob/1142b526/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
index a450d4d..85e632d 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
@@ -1210,8 +1210,13 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
       Logger.info("DBG: User requested num_llap_nodes : {0}, but used/adjusted 
value for calculations is : {1}".format(num_llap_nodes_requested, 
num_llap_nodes))
     else:
       Logger.info("DBG: Used num_llap_nodes for calculations : 
{0}".format(num_llap_nodes_requested))
-    putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 
num_llap_nodes)
-    Logger.info("DBG: Setting config 'num_llap_nodes_for_llap_daemons' as : 
{0}".format(num_llap_nodes))
+
+    # Safeguard for not adding "num_llap_nodes_for_llap_daemons" if it doesnt 
exist in hive-interactive-site.
+    # This can happen if we upgrade from Ambari 2.4 (with HDP 2.5) to Ambari 
2.5, as this config is from 2.6 stack onwards only.
+    if "hive-interactive-env" in services["configurations"] and \
+        "num_llap_nodes_for_llap_daemons" in 
services["configurations"]["hive-interactive-env"]["properties"]:
+      putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 
num_llap_nodes)
+      Logger.info("DBG: Setting config 'num_llap_nodes_for_llap_daemons' as : 
{0}".format(num_llap_nodes))
 
     llap_container_size = long(llap_daemon_mem_per_node)
     putHiveInteractiveSiteProperty('hive.llap.daemon.yarn.container.mb', 
llap_container_size)
@@ -1274,7 +1279,13 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
     
putHiveInteractiveSitePropertyAttribute('hive.server2.tez.sessions.per.default.queue',
 "minimum", 1)
     
putHiveInteractiveSitePropertyAttribute('hive.server2.tez.sessions.per.default.queue',
 "maximum", 1)
     putHiveInteractiveEnvProperty('num_llap_nodes', 0)
-    putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 0)
+
+    # Safeguard for not adding "num_llap_nodes_for_llap_daemons" if it doesnt 
exist in hive-interactive-site.
+    # This can happen if we upgrade from Ambari 2.4 (with HDP 2.5) to Ambari 
2.5, as this config is from 2.6 stack onwards only.
+    if "hive-interactive-env" in services["configurations"] and \
+        "num_llap_nodes_for_llap_daemons" in 
services["configurations"]["hive-interactive-env"]["properties"]:
+      putHiveInteractiveEnvProperty('num_llap_nodes_for_llap_daemons', 0)
+
     putHiveInteractiveEnvPropertyAttribute('num_llap_nodes', "minimum", 1)
     putHiveInteractiveEnvPropertyAttribute('num_llap_nodes', "maximum", 
node_manager_cnt)
     putHiveInteractiveSiteProperty('hive.llap.daemon.yarn.container.mb', 
yarn_min_container_size)

http://git-wip-us.apache.org/repos/asf/ambari/blob/1142b526/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py 
b/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
index 2d7bcd3..a913b35 100644
--- a/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
+++ b/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
@@ -1134,7 +1134,8 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
-              'num_llap_nodes':'1'
+              'num_llap_nodes':'1',
+              'num_llap_nodes_for_llap_daemons': '1'
             }
           },
         "hive-interactive-site":
@@ -1336,7 +1337,8 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
-              'num_llap_nodes':'1'
+              'num_llap_nodes':'1',
+              'num_llap_nodes_for_llap_daemons': '1'
             }
           },
         "hive-interactive-site":
@@ -1532,7 +1534,8 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
-              'num_llap_nodes': 1
+              'num_llap_nodes': 1,
+              'num_llap_nodes_for_llap_daemons': '1'
             }
           },
         "hive-interactive-site":
@@ -1737,7 +1740,8 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
-              'num_llap_nodes':'3'
+              'num_llap_nodes':'3',
+              'num_llap_nodes_for_llap_daemons': '1'
             }
           },
         "hive-interactive-site":
@@ -1938,6 +1942,7 @@ class TestHDP25StackAdvisor(TestCase):
             'properties': {
               'enable_hive_interactive': 'true',
               'num_llap_nodes':'3',
+              'num_llap_nodes_for_llap_daemons': '1',
              }
           },
         "hive-interactive-site":
@@ -2337,7 +2342,8 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
-              'num_llap_nodes':'3'
+              'num_llap_nodes':'3',
+              'num_llap_nodes_for_llap_daemons': '1'
             }
           },
         "hive-interactive-site":
@@ -2605,7 +2611,7 @@ class TestHDP25StackAdvisor(TestCase):
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.server2.tez.sessions.per.default.queue'],
 '1.0')
     
self.assertEquals(configurations['hive-interactive-site']['property_attributes']['hive.server2.tez.sessions.per.default.queue'],
 {'maximum': '4', 'minimum': '1'})
 
-    
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes_for_llap_daemons'],
 3)
+    self.assertTrue('num_llap_nodes_for_llap_daemons' not in 
configurations['hive-interactive-env']['properties'])
     self.assertTrue('num_llap_nodes' not in 
configurations['hive-interactive-env']['properties'])
 
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.llap.daemon.yarn.container.mb'],
 '36864')
@@ -2806,7 +2812,7 @@ class TestHDP25StackAdvisor(TestCase):
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.server2.tez.sessions.per.default.queue'],
 '1')
     
self.assertEquals(configurations['hive-interactive-site']['property_attributes']['hive.server2.tez.sessions.per.default.queue'],
 {'maximum': '4', 'minimum': '1'})
 
-    
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes_for_llap_daemons'],
 3)
+    self.assertTrue('num_llap_nodes_for_llap_daemons' not in 
configurations['hive-interactive-env']['properties'])
     self.assertTrue('num_llap_nodes' not in 
configurations['hive-interactive-env']['properties'])
 
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.llap.daemon.yarn.container.mb'],
 '202554')
@@ -3003,7 +3009,7 @@ class TestHDP25StackAdvisor(TestCase):
     self.assertEqual(configurations['capacity-scheduler']['properties'], 
{'capacity-scheduler': 
'yarn.scheduler.capacity.root.accessible-node-labels=*\nyarn.scheduler.capacity.maximum-am-resource-percent=1\nyarn.scheduler.capacity.node-locality-delay=40\nyarn.scheduler.capacity.root.capacity=100\nyarn.scheduler.capacity.root.default.state=RUNNING\nyarn.scheduler.capacity.root.default.maximum-capacity=0.0\nyarn.scheduler.capacity.root.queues=default,llap\nyarn.scheduler.capacity.maximum-applications=10000\nyarn.scheduler.capacity.root.default.user-limit-factor=1\nyarn.scheduler.capacity.root.acl_administer_queue=*\nyarn.scheduler.capacity.root.default.acl_submit_applications=*\nyarn.scheduler.capacity.root.default.capacity=0.0\nyarn.scheduler.capacity.queue-mappings-override.enable=false\nyarn.scheduler.capacity.root.ordering-policy=priority-utilization\nyarn.scheduler.capacity.root.llap.user-limit-factor=1\nyarn.scheduler.capacity.root.llap.state=RUNNING\nyarn.scheduler.capacity.roo
 
t.llap.ordering-policy=fifo\nyarn.scheduler.capacity.root.llap.priority=10\nyarn.scheduler.capacity.root.llap.minimum-user-limit-percent=100\nyarn.scheduler.capacity.root.llap.maximum-capacity=100.0\nyarn.scheduler.capacity.root.llap.capacity=100.0\nyarn.scheduler.capacity.root.llap.acl_submit_applications=hive\nyarn.scheduler.capacity.root.llap.acl_administer_queue=hive\nyarn.scheduler.capacity.root.llap.maximum-am-resource-percent=1'})
     
self.assertEquals(configurations['hive-interactive-site']['property_attributes']['hive.server2.tez.sessions.per.default.queue'],
 {'maximum': '4'})
 
-    
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes_for_llap_daemons'],
 3)
+    self.assertTrue('num_llap_nodes_for_llap_daemons' not in 
configurations['hive-interactive-env']['properties'])
     self.assertTrue('num_llap_nodes' not in 
configurations['hive-interactive-env']['properties'])
 
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.llap.daemon.yarn.container.mb'],
 '202752')
@@ -3197,7 +3203,7 @@ class TestHDP25StackAdvisor(TestCase):
     
self.assertEquals(configurations['hive-interactive-site']['property_attributes']['hive.server2.tez.sessions.per.default.queue'],
 {'maximum': '4'})
 
     
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes'],
 3)
-    
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes_for_llap_daemons'],
 3)
+    self.assertTrue('num_llap_nodes_for_llap_daemons' not in 
configurations['hive-interactive-env']['properties'])
 
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.llap.daemon.yarn.container.mb'],
 '202752')
 
@@ -3421,7 +3427,7 @@ class TestHDP25StackAdvisor(TestCase):
     
self.assertEquals(configurations['hive-interactive-site']['property_attributes']['hive.server2.tez.sessions.per.default.queue'],
 {'maximum': '4', 'minimum': '1'})
 
     
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes'],
 3)
-    
self.assertTrue(configurations['hive-interactive-env']['properties']['num_llap_nodes_for_llap_daemons'],
 3)
+    self.assertTrue('num_llap_nodes_for_llap_daemons' not in 
configurations['hive-interactive-env']['properties'])
 
     
self.assertEqual(configurations['hive-interactive-site']['properties']['hive.llap.daemon.yarn.container.mb'],
 '204288')
 
@@ -3588,6 +3594,7 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
+              'num_llap_nodes_for_llap_daemons': '1'
             }
           },
         "hive-interactive-site":
@@ -3960,7 +3967,8 @@ class TestHDP25StackAdvisor(TestCase):
           {
             'properties': {
               'enable_hive_interactive': 'true',
-              'num_llap_nodes': '1'
+              'num_llap_nodes': '1',
+              'num_llap_nodes_for_llap_daemons': '0'
             }
           },
         "hive-interactive-site":

Reply via email to