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);

Reply via email to