ソースを参照

AMBARI-9887 400-node cluster: Hosts page become unresponsive. (atkach)

Andrii Tkach 10 年 前
コミット
d27807b145
2 ファイル変更3 行追加11 行削除
  1. 2 0
      ambari-web/app/mappers/hosts_mapper.js
  2. 1 11
      ambari-web/app/views/main/host.js

+ 2 - 0
ambari-web/app/mappers/hosts_mapper.js

@@ -88,6 +88,7 @@ App.hostsMapper = App.QuickDataMapper.create({
       var cacheServices = App.cache['services'];
       var loadedServiceComponentsMap = App.get('componentConfigMapper').buildServiceComponentMap(cacheServices);
       var serviceToHostComponentIdMap = {};
+      var selectedHosts = App.db.getSelectedHosts('mainHostController');
 
       json.items.forEach(function (item, index) {
         item.host_components = item.host_components || [];
@@ -130,6 +131,7 @@ App.hostsMapper = App.QuickDataMapper.create({
         }
         var parsedItem = this.parseIt(item, this.config);
         parsedItem.is_requested = true;
+        parsedItem.selected = selectedHosts.contains(parsedItem.host_name);
 
         hostIds[item.Hosts.host_name] = parsedItem;
 

+ 1 - 11
ambari-web/app/views/main/host.js

@@ -52,17 +52,7 @@ App.MainHostView = App.TableView.extend(App.TableServerViewMixin, {
    * List of hosts in cluster
    * @type {Array}
    */
-  content: function () {
-    var controllerName = this.get('controller.name');
-    var selectedHosts = App.db.getSelectedHosts(controllerName);
-    if (this.get('controller')) {
-      return this.get('controller.content').filter(function (host) {
-        host.set('selected', selectedHosts.contains(host.get('hostName')));
-        return true;
-      });
-    }
-    return [];
-  }.property('controller.content'),
+  contentBinding: 'controller.content',
 
   onRequestErrorHandler: function() {
     this.set('requestError', null);