Repository: ambari Updated Branches: refs/heads/branch-1.7.0 0cdc6d931 -> 766838b5f
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/2e1cbd4e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2e1cbd4e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2e1cbd4e Branch: refs/heads/branch-1.7.0 Commit: 2e1cbd4ee022c13297dc53df8c218f2768c7e835 Parents: ead6921 Author: Oleg Nechiporenko <onechipore...@apache.org> Authored: Wed Nov 5 19:03:10 2014 +0200 Committer: Oleg Nechiporenko <onechipore...@apache.org> Committed: Wed Nov 5 19:03:10 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/2e1cbd4e/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 7265466..e25111a 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -103,6 +103,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/2e1cbd4e/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 1172381..73b70e9 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/2e1cbd4e/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..4db61cc --- /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\":{}}}"); + }); + + }); + +}); \ No newline at end of file