AMBARI-22589 Ambari web UI stack version page is empty due to NPE when target stack does not contain all services from the current stack (dili)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f4d27390 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f4d27390 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f4d27390 Branch: refs/heads/branch-feature-AMBARI-21674 Commit: f4d27390f0de5a0e85c143e783312d03f24adf54 Parents: 862b7d7 Author: Di Li <d...@apache.org> Authored: Thu Dec 7 14:05:45 2017 -0500 Committer: Di Li <d...@apache.org> Committed: Thu Dec 7 14:05:45 2017 -0500 ---------------------------------------------------------------------- .../admin/stack_upgrade/upgrade_version_column_view.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f4d27390/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js index 9ddb083..3a406d8 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js @@ -51,12 +51,21 @@ App.UpgradeVersionColumnView = App.UpgradeVersionBoxView.extend({ var stackService = originalServices.findProperty('name', service.get('serviceName')); var isAvailable = this.isStackServiceAvailable(stackService); + + var notUpgradable = false; + if (!stackService) { + console.error(stackService + " definition does not exist in the stack.") + notUpgradable = true; + } else { + notUpgradable = this.getNotUpgradable(isAvailable, stackService.get('isUpgradable')); + } + return Em.Object.create({ displayName: service.get('displayName'), name: service.get('serviceName'), latestVersion: stackService ? stackService.get('latestVersion') : '', isVersionInvisible: !stackService, - notUpgradable: this.getNotUpgradable(isAvailable, stackService.get('isUpgradable')), + notUpgradable: notUpgradable, isAvailable: isAvailable }); }, this);