You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2017/04/11 19:30:50 UTC

[1/3] hive git commit: HIVE-16403 : LLAP UI shows the wrong number of executors (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan)

Repository: hive
Updated Branches:
  refs/heads/branch-2 b8768ca94 -> 493eb150a
  refs/heads/branch-2.2 ae3fef4d0 -> d18be5780
  refs/heads/branch-2.3 050242eb7 -> 91db831f8


HIVE-16403 : LLAP UI shows the wrong number of executors (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/91db831f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/91db831f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/91db831f

Branch: refs/heads/branch-2.3
Commit: 91db831f8069d403003a04243079cf537d731183
Parents: 050242e
Author: Sergey Shelukhin <se...@apache.org>
Authored: Tue Apr 11 12:17:18 2017 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Tue Apr 11 12:19:39 2017 -0700

----------------------------------------------------------------------
 .../hive/llap/daemon/impl/ContainerRunnerImpl.java    |  4 ++++
 .../hadoop/hive/llap/daemon/impl/LlapDaemon.java      |  5 +++++
 .../hive/llap/daemon/impl/LlapDaemonMXBean.java       |  6 ++++++
 .../hadoop/hive/llap/daemon/impl/Scheduler.java       |  2 ++
 .../hive/llap/daemon/impl/TaskExecutorService.java    | 14 ++++++++++++++
 .../main/resources/hive-webapps/llap/js/metrics.js    |  6 +++---
 6 files changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/91db831f/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
index 82bbcf3..e030a76 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
@@ -524,4 +524,8 @@ public class ContainerRunnerImpl extends CompositeService implements ContainerRu
     return queryId + "-" + dagIndex;
   }
 
+  public int getNumActive() {
+    return executorService.getNumActive();
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/91db831f/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
index 30f9ad4..4f09f41 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
@@ -600,6 +600,11 @@ public class LlapDaemon extends CompositeService implements ContainerRunner, Lla
   }
 
   @Override
+  public int getNumActive() {
+    return containerRunner.getNumActive();
+  }
+
+  @Override
   public long getExecutorMemoryPerInstance() {
     return executorMemoryPerInstance;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/91db831f/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
index d6449db..22cfc9e 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
@@ -40,6 +40,12 @@ public interface LlapDaemonMXBean {
   public int getNumExecutors();
 
   /**
+   * Gets the number of active executors.
+   * @return number of active executors
+   */
+  public int getNumActive();
+
+  /**
    * Gets the shuffle port.
    * @return the shuffle port
    */

http://git-wip-us.apache.org/repos/asf/hive/blob/91db831f/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
index fd6234a..f199593 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
@@ -45,5 +45,7 @@ public interface Scheduler<T> {
 
   Set<String> getExecutorsStatus();
 
+  int getNumActive();
+
   QueryIdentifier findQueryByFragment(String fragmentId);
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/91db831f/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
index 9eaa7d7..110213a 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
@@ -201,6 +201,20 @@ public class TaskExecutorService extends AbstractService
   };
 
   @Override
+  public int getNumActive() {
+    int result = 0;
+    for (Map.Entry<String, TaskWrapper> e : knownTasks.entrySet()) {
+      TaskWrapper task = e.getValue();
+      if (task.isInWaitQueue()) continue;
+      TaskRunnerCallable c = task.getTaskRunnerCallable();
+      // Count the tasks in intermediate state as waiting.
+      if (c == null || c.getStartTime() == 0) continue;
+      ++result;
+    }
+    return result;
+  }
+
+  @Override
   public Set<String> getExecutorsStatus() {
     // TODO Change this method to make the output easier to parse (parse programmatically)
     Set<String> result = new LinkedHashSet<>();

http://git-wip-us.apache.org/repos/asf/hive/blob/91db831f/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
----------------------------------------------------------------------
diff --git a/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js b/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
index 4c41c34..0db9a05 100644
--- a/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
+++ b/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
@@ -103,8 +103,8 @@ llap.model.LlapDaemonInfo = new function() {
    this.push = function(jmx) {
       var bean = jmxbean(jmx, this.name); 
       this.executors = bean["NumExecutors"];
-      this.active = bean["ExecutorsStatus"];
-      this.active_rate.add(this.active.length);
+      this.active = bean["NumActive"];
+      this.active_rate.add(this.active);
    }
 }
 
@@ -175,7 +175,7 @@ llap.view.Cache = new function () {
 llap.view.Executors = new function () {
    this.refresh = function() {
       var model = llap.model.LlapDaemonInfo;
-      $("#executors-used").text(model.active.length);
+      $("#executors-used").text(model.active);
       $("#executors-max").text(model.executors);
       $("#executors-rate").text(((model.active_rate.peek() * 100.0)/model.executors).toFixed(0));
       $("#executors-trend").sparkline(model.active_rate);


[2/3] hive git commit: HIVE-16403 : LLAP UI shows the wrong number of executors (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan)

Posted by se...@apache.org.
HIVE-16403 : LLAP UI shows the wrong number of executors (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d18be578
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d18be578
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d18be578

Branch: refs/heads/branch-2.2
Commit: d18be5780396ce4e8fc620a0aedd260c4b4d0607
Parents: ae3fef4
Author: Sergey Shelukhin <se...@apache.org>
Authored: Tue Apr 11 12:17:18 2017 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Tue Apr 11 12:24:34 2017 -0700

----------------------------------------------------------------------
 .../hive/llap/daemon/impl/ContainerRunnerImpl.java    |  4 ++++
 .../hadoop/hive/llap/daemon/impl/LlapDaemon.java      |  5 +++++
 .../hive/llap/daemon/impl/LlapDaemonMXBean.java       |  6 ++++++
 .../hadoop/hive/llap/daemon/impl/Scheduler.java       |  2 ++
 .../hive/llap/daemon/impl/TaskExecutorService.java    | 14 ++++++++++++++
 .../main/resources/hive-webapps/llap/js/metrics.js    |  6 +++---
 6 files changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/d18be578/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
index 2b9ece9..2cf2fac 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
@@ -516,4 +516,8 @@ public class ContainerRunnerImpl extends CompositeService implements ContainerRu
   public Set<String> getExecutorStatus() {
     return executorService.getExecutorsStatus();
   }
+
+  public int getNumActive() {
+    return executorService.getNumActive();
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/d18be578/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
index 1ede5a1..f69cdf1 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
@@ -584,6 +584,11 @@ public class LlapDaemon extends CompositeService implements ContainerRunner, Lla
   }
 
   @Override
+  public int getNumActive() {
+    return containerRunner.getNumActive();
+  }
+
+  @Override
   public long getExecutorMemoryPerInstance() {
     return executorMemoryPerInstance;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/d18be578/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
index d6449db..22cfc9e 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
@@ -40,6 +40,12 @@ public interface LlapDaemonMXBean {
   public int getNumExecutors();
 
   /**
+   * Gets the number of active executors.
+   * @return number of active executors
+   */
+  public int getNumActive();
+
+  /**
    * Gets the shuffle port.
    * @return the shuffle port
    */

http://git-wip-us.apache.org/repos/asf/hive/blob/d18be578/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
index fd6234a..f199593 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
@@ -45,5 +45,7 @@ public interface Scheduler<T> {
 
   Set<String> getExecutorsStatus();
 
+  int getNumActive();
+
   QueryIdentifier findQueryByFragment(String fragmentId);
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/d18be578/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
index dcad3d8..06d7499 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
@@ -197,6 +197,20 @@ public class TaskExecutorService extends AbstractService
   };
 
   @Override
+  public int getNumActive() {
+    int result = 0;
+    for (Map.Entry<String, TaskWrapper> e : knownTasks.entrySet()) {
+      TaskWrapper task = e.getValue();
+      if (task.isInWaitQueue()) continue;
+      TaskRunnerCallable c = task.getTaskRunnerCallable();
+      // Count the tasks in intermediate state as waiting.
+      if (c == null || c.getStartTime() == 0) continue;
+      ++result;
+    }
+    return result;
+  }
+
+  @Override
   public Set<String> getExecutorsStatus() {
     // TODO Change this method to make the output easier to parse (parse programmatically)
     Set<String> result = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/hive/blob/d18be578/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
----------------------------------------------------------------------
diff --git a/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js b/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
index 4c41c34..0db9a05 100644
--- a/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
+++ b/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
@@ -103,8 +103,8 @@ llap.model.LlapDaemonInfo = new function() {
    this.push = function(jmx) {
       var bean = jmxbean(jmx, this.name); 
       this.executors = bean["NumExecutors"];
-      this.active = bean["ExecutorsStatus"];
-      this.active_rate.add(this.active.length);
+      this.active = bean["NumActive"];
+      this.active_rate.add(this.active);
    }
 }
 
@@ -175,7 +175,7 @@ llap.view.Cache = new function () {
 llap.view.Executors = new function () {
    this.refresh = function() {
       var model = llap.model.LlapDaemonInfo;
-      $("#executors-used").text(model.active.length);
+      $("#executors-used").text(model.active);
       $("#executors-max").text(model.executors);
       $("#executors-rate").text(((model.active_rate.peek() * 100.0)/model.executors).toFixed(0));
       $("#executors-trend").sparkline(model.active_rate);


[3/3] hive git commit: HIVE-16403 : LLAP UI shows the wrong number of executors (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan)

Posted by se...@apache.org.
HIVE-16403 : LLAP UI shows the wrong number of executors (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/493eb150
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/493eb150
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/493eb150

Branch: refs/heads/branch-2
Commit: 493eb150a44e591baf471e9570bb3041becf934a
Parents: b8768ca
Author: Sergey Shelukhin <se...@apache.org>
Authored: Tue Apr 11 12:17:18 2017 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Tue Apr 11 12:24:52 2017 -0700

----------------------------------------------------------------------
 .../hive/llap/daemon/impl/ContainerRunnerImpl.java    |  4 ++++
 .../hadoop/hive/llap/daemon/impl/LlapDaemon.java      |  5 +++++
 .../hive/llap/daemon/impl/LlapDaemonMXBean.java       |  6 ++++++
 .../hadoop/hive/llap/daemon/impl/Scheduler.java       |  2 ++
 .../hive/llap/daemon/impl/TaskExecutorService.java    | 14 ++++++++++++++
 .../main/resources/hive-webapps/llap/js/metrics.js    |  6 +++---
 6 files changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/493eb150/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
index 82bbcf3..e030a76 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java
@@ -524,4 +524,8 @@ public class ContainerRunnerImpl extends CompositeService implements ContainerRu
     return queryId + "-" + dagIndex;
   }
 
+  public int getNumActive() {
+    return executorService.getNumActive();
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/493eb150/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
index 30f9ad4..4f09f41 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java
@@ -600,6 +600,11 @@ public class LlapDaemon extends CompositeService implements ContainerRunner, Lla
   }
 
   @Override
+  public int getNumActive() {
+    return containerRunner.getNumActive();
+  }
+
+  @Override
   public long getExecutorMemoryPerInstance() {
     return executorMemoryPerInstance;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/493eb150/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
index d6449db..22cfc9e 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemonMXBean.java
@@ -40,6 +40,12 @@ public interface LlapDaemonMXBean {
   public int getNumExecutors();
 
   /**
+   * Gets the number of active executors.
+   * @return number of active executors
+   */
+  public int getNumActive();
+
+  /**
    * Gets the shuffle port.
    * @return the shuffle port
    */

http://git-wip-us.apache.org/repos/asf/hive/blob/493eb150/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
index fd6234a..f199593 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/Scheduler.java
@@ -45,5 +45,7 @@ public interface Scheduler<T> {
 
   Set<String> getExecutorsStatus();
 
+  int getNumActive();
+
   QueryIdentifier findQueryByFragment(String fragmentId);
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/493eb150/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
index 9eaa7d7..110213a 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java
@@ -201,6 +201,20 @@ public class TaskExecutorService extends AbstractService
   };
 
   @Override
+  public int getNumActive() {
+    int result = 0;
+    for (Map.Entry<String, TaskWrapper> e : knownTasks.entrySet()) {
+      TaskWrapper task = e.getValue();
+      if (task.isInWaitQueue()) continue;
+      TaskRunnerCallable c = task.getTaskRunnerCallable();
+      // Count the tasks in intermediate state as waiting.
+      if (c == null || c.getStartTime() == 0) continue;
+      ++result;
+    }
+    return result;
+  }
+
+  @Override
   public Set<String> getExecutorsStatus() {
     // TODO Change this method to make the output easier to parse (parse programmatically)
     Set<String> result = new LinkedHashSet<>();

http://git-wip-us.apache.org/repos/asf/hive/blob/493eb150/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
----------------------------------------------------------------------
diff --git a/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js b/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
index 4c41c34..0db9a05 100644
--- a/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
+++ b/llap-server/src/main/resources/hive-webapps/llap/js/metrics.js
@@ -103,8 +103,8 @@ llap.model.LlapDaemonInfo = new function() {
    this.push = function(jmx) {
       var bean = jmxbean(jmx, this.name); 
       this.executors = bean["NumExecutors"];
-      this.active = bean["ExecutorsStatus"];
-      this.active_rate.add(this.active.length);
+      this.active = bean["NumActive"];
+      this.active_rate.add(this.active);
    }
 }
 
@@ -175,7 +175,7 @@ llap.view.Cache = new function () {
 llap.view.Executors = new function () {
    this.refresh = function() {
       var model = llap.model.LlapDaemonInfo;
-      $("#executors-used").text(model.active.length);
+      $("#executors-used").text(model.active);
       $("#executors-max").text(model.executors);
       $("#executors-rate").text(((model.active_rate.peek() * 100.0)/model.executors).toFixed(0));
       $("#executors-trend").sparkline(model.active_rate);