浏览代码

AMBARI-17378 No data for Disk Usage and Load Avg after sorting (akovalenko)

Aleksandr Kovalenko 9 年之前
父节点
当前提交
61c452c045

+ 9 - 11
ambari-web/app/mappers/hosts_mapper.js

@@ -189,7 +189,7 @@ App.hostsMapper = App.QuickDataMapper.create({
           }
         });
         var parsedItem = this.parseIt(item, this.config);
-        parsedItem.is_requested = true;
+
         parsedItem.last_heart_beat_time = App.dateTimeWithTimeZone(parsedItem.last_heart_beat_time);
         parsedItem.selected = selectedHosts.contains(parsedItem.host_name);
         parsedItem.not_started_components = notStartedComponents;
@@ -237,16 +237,14 @@ App.hostsMapper = App.QuickDataMapper.create({
    */
   setMetrics: function (data) {
     var hosts = this.get('model').find();
-    for (var i = 0; i < hosts.length; i++) {
-      var host = hosts[i];
-      if (host.get('isRequested')) {
-        var hostMetrics = data.items.findProperty('Hosts.host_name', host.get('hostName'));
-        host.setProperties({
-          diskTotal: Em.get(hostMetrics, 'metrics.disk.disk_total'),
-          diskFree: Em.get(hostMetrics, 'metrics.disk.disk_free'),
-          loadOne: Em.get(hostMetrics, 'metrics.load.load_one')
-        });
-      }
+    for (var i = 0; i < hosts.content.length; i++) {
+      var host = hosts.objectAt(i);
+      var hostMetrics = data.items.findProperty('Hosts.host_name', host.get('hostName'));
+      host.setProperties({
+        diskTotal: Em.get(hostMetrics, 'metrics.disk.disk_total'),
+        diskFree: Em.get(hostMetrics, 'metrics.disk.disk_free'),
+        loadOne: Em.get(hostMetrics, 'metrics.load.load_one')
+      });
     }
   }
 });

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

@@ -52,7 +52,6 @@ App.MainHostView = App.TableView.extend(App.TableServerViewMixin, {
 
   onRequestErrorHandler: function() {
     this.set('requestError', null);
-    this.get('controller').get('dataSource').setEach('isRequested', false);
     this.set('filteringComplete', true);
     this.propertyDidChange('pageContent');
   }.observes('requestError'),

+ 8 - 15
ambari-web/test/mappers/hosts_mapper_test.js

@@ -49,28 +49,21 @@ describe('App.hostsMapper', function () {
     });
     it("Host not in the model", function() {
       var host = Em.Object.create({
-        hostName: 'host2',
-        isRequested: true
+        hostName: 'host2'
       });
-      this.mock.returns([host]);
-      mapper.setMetrics(data);
-      expect(host.get('loadOne')).to.be.undefined;
-    });
-    it("Host not in the filter", function() {
-      var host = Em.Object.create({
-        hostName: 'host1',
-        isRequested: false
-      });
-      this.mock.returns([host]);
+      var mockedModel = [host];
+      mockedModel.content = mockedModel;
+      this.mock.returns(mockedModel);
       mapper.setMetrics(data);
       expect(host.get('loadOne')).to.be.undefined;
     });
     it("Host should have updated metrics", function() {
       var host = Em.Object.create({
-        hostName: 'host1',
-        isRequested: true
+        hostName: 'host1'
       });
-      this.mock.returns([host]);
+      var mockedModel = [host];
+      mockedModel.content = mockedModel;
+      this.mock.returns(mockedModel);
       mapper.setMetrics(data);
       expect(host.get('loadOne')).to.equal(1);
     });