You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by on...@apache.org on 2014/11/05 19:03:05 UTC

git commit: AMBARI-8159. RM info not showing after shutting down active RM (onechiporenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk 776743beb -> c68cf2fdc


AMBARI-8159. RM info not showing after shutting down active RM (onechiporenko)


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

Branch: refs/heads/trunk
Commit: c68cf2fdc5c96521fc39e5b609278bdb40a18c25
Parents: 776743b
Author: Oleg Nechiporenko <on...@apache.org>
Authored: Wed Nov 5 19:06:07 2014 +0200
Committer: Oleg Nechiporenko <on...@apache.org>
Committed: Wed Nov 5 20:02:47 2014 +0200

----------------------------------------------------------------------
 ambari-web/app/assets/test/tests.js             |  1 +
 .../app/mappers/service_metrics_mapper.js       |  3 +-
 .../test/mappers/service_metrics_mapper_test.js | 64 ++++++++++++++++++++
 3 files changed, 67 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c68cf2fd/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js
index fd565f1..b6cc4c0 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -106,6 +106,7 @@ var files = ['test/init_model_test',
   'test/mappers/server_data_mapper_test',
   'test/mappers/hosts_mapper_test',
   'test/mappers/service_mapper_test',
+  'test/mappers/service_metrics_mapper_test',
   'test/mappers/status_mapper_test',
   'test/mappers/users_mapper_test',
   'test/mappers/stack_mapper_test',

http://git-wip-us.apache.org/repos/asf/ambari/blob/c68cf2fd/ambari-web/app/mappers/service_metrics_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/service_metrics_mapper.js b/ambari-web/app/mappers/service_metrics_mapper.js
index 0ff2177..bdab96b 100644
--- a/ambari-web/app/mappers/service_metrics_mapper.js
+++ b/ambari-web/app/mappers/service_metrics_mapper.js
@@ -490,7 +490,8 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({
         // if YARN has two host components, ACTIVE one should be first in component.host_components array for proper metrics mapping
         if (component.host_components.length === 2) {
           var activeRM = component.host_components.findProperty('HostRoles.ha_state', 'ACTIVE');
-          var standbyRM = component.host_components.findProperty('HostRoles.ha_state', 'STANDBY');
+          // if "second" RM isn't STARTED his ha_status is null (not STANDBY)
+          var standbyRM = component.host_components.filter(function(host_component) {return host_component.HostRoles.ha_state !== 'ACTIVE';})[0];
           if (activeRM && standbyRM) {
             component.host_components = [activeRM, standbyRM];
           }

http://git-wip-us.apache.org/repos/asf/ambari/blob/c68cf2fd/ambari-web/test/mappers/service_metrics_mapper_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mappers/service_metrics_mapper_test.js b/ambari-web/test/mappers/service_metrics_mapper_test.js
new file mode 100644
index 0000000..e888325
--- /dev/null
+++ b/ambari-web/test/mappers/service_metrics_mapper_test.js
@@ -0,0 +1,64 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+
+var App = require('app');
+
+describe('App.serviceMetricsMapper', function () {
+
+  describe('#yarnMapper', function () {
+
+    it('should set ACTIVE RM first in any cases (if RM HA enabled)', function() {
+      var item = {
+          components: [
+            {
+              ServiceComponentInfo: {
+                component_name: 'RESOURCEMANAGER'
+              },
+              host_components: [
+                {
+                  HostRoles: {
+                    ha_state: null,
+                    host_name : 'h1'
+                  }
+                },
+                {
+                  HostRoles: {
+                    ha_state: 'ACTIVE',
+                    host_name : 'h2'
+                  },
+                  metrics: {
+                    yarn: {
+                      Queue: {
+                        root: {
+                          default: {}
+                        }
+                      }
+                    }
+                  }
+                }
+              ]
+            }
+          ]
+        },
+        result = App.serviceMetricsMapper.yarnMapper(item);
+      expect(result.queue).to.equal("{\"root\":{\"default\":{}}}");
+    });
+
+  });
+
+});