HIVE-14215: Displaying inconsistent CPU usage data with MR execution engine 
(Peter Vary, reviewed by Aihua Xu and Sergio Pena)


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

Branch: refs/heads/branch-2.1
Commit: 72b039c82ffc033ae8a1f9ae79f6611467aacfc5
Parents: 3701a7a
Author: Peter Vary <pv...@cloudera.com>
Authored: Thu Jul 14 11:27:18 2016 -0500
Committer: Sergio Pena <sergio.p...@cloudera.com>
Committed: Wed Sep 28 15:45:52 2016 -0500

----------------------------------------------------------------------
 .../hive/ql/exec/mr/HadoopJobExecHelper.java    | 25 ++++++++++----------
 1 file changed, 13 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/72b039c8/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java
index 5656f9a..a894bed 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java
@@ -377,6 +377,19 @@ public class HadoopJobExecHelper {
       reportTime = System.currentTimeMillis();
     }
 
+    Counters ctrs = th.getCounters();
+
+    if (ctrs != null) {
+      Counter counterCpuMsec = 
ctrs.findCounter("org.apache.hadoop.mapred.Task$Counter",
+              "CPU_MILLISECONDS");
+      if (counterCpuMsec != null) {
+        long newCpuMSec = counterCpuMsec.getValue();
+        if (newCpuMSec > cpuMsec) {
+          cpuMsec = newCpuMSec;
+        }
+      }
+    }
+
     if (cpuMsec > 0) {
       String status = "MapReduce Total cumulative CPU time: " + 
Utilities.formatMsecToStr(cpuMsec);
       console.printInfo(status);
@@ -385,7 +398,6 @@ public class HadoopJobExecHelper {
 
     boolean success;
 
-    Counters ctrs = th.getCounters();
     if (fatal) {
       success = false;
     } else {
@@ -403,17 +415,6 @@ public class HadoopJobExecHelper {
       }
     }
 
-    if (ctrs != null) {
-      Counter counterCpuMsec = 
ctrs.findCounter("org.apache.hadoop.mapred.Task$Counter",
-          "CPU_MILLISECONDS");
-      if (counterCpuMsec != null) {
-        long newCpuMSec = counterCpuMsec.getValue();
-        if (newCpuMSec > cpuMsec) {
-          cpuMsec = newCpuMSec;
-        }
-      }
-    }
-
     MapRedStats mapRedStats = new MapRedStats(numMap, numReduce, cpuMsec, 
success, rj.getID().toString());
     mapRedStats.setCounters(ctrs);
 

Reply via email to