You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by ss...@apache.org on 2013/08/30 17:53:58 UTC

git commit: TEZ-413. Log location hints when DEBUG logging is enabled. (sseth)

Updated Branches:
  refs/heads/master 33d0dcefb -> e1ed31b07


TEZ-413. Log location hints when DEBUG logging is enabled. (sseth)


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

Branch: refs/heads/master
Commit: e1ed31b07453fdc63b616ddd4396bdb61b7a43c6
Parents: 33d0dce
Author: Siddharth Seth <ss...@apache.org>
Authored: Fri Aug 30 08:53:09 2013 -0700
Committer: Siddharth Seth <ss...@apache.org>
Committed: Fri Aug 30 08:53:09 2013 -0700

----------------------------------------------------------------------
 .../apache/tez/dag/api/VertexLocationHint.java  |  1 -
 .../apache/tez/dag/app/dag/impl/VertexImpl.java | 36 ++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/e1ed31b0/tez-dag-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
----------------------------------------------------------------------
diff --git a/tez-dag-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java b/tez-dag-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
index d92250c..4f19314 100644
--- a/tez-dag-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
+++ b/tez-dag-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
@@ -18,7 +18,6 @@
 
 package org.apache.tez.dag.api;
 
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/e1ed31b0/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
----------------------------------------------------------------------
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
index 49a5fb2..b20ac2a 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
@@ -107,6 +107,8 @@ import org.apache.tez.engine.records.TezDependentTaskCompletionEvent;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
+import com.google.common.collect.HashMultiset;
+import com.google.common.collect.Multiset;
 
 
 /** Implementation of Vertex interface. Maintains the state machines of Vertex.
@@ -387,6 +389,9 @@ public class VertexImpl implements org.apache.tez.dag.app.dag.Vertex,
     this.credentials = credentials;
     this.committer = new NullVertexOutputCommitter();
     this.vertexLocationHint = vertexLocationHint;
+    if (LOG.isDebugEnabled()) {
+      logLocationHints(this.vertexLocationHint);
+    }
 
     this.taskResource = DagTypeConverters
         .createResourceRequestFromTaskConfig(vertexPlan.getTaskConfig());
@@ -1495,5 +1500,36 @@ public class VertexImpl implements org.apache.tez.dag.app.dag.Vertex,
   VertexScheduler getVertexScheduler() {
     return this.vertexScheduler;
   }
+  
+  private static void logLocationHints(VertexLocationHint locationHint) {
+    Multiset<String> hosts = HashMultiset.create();
+    Multiset<String> racks = HashMultiset.create();
+    int counter = 0;
+    for (TaskLocationHint taskLocationHint : locationHint
+        .getTaskLocationHints()) {
+      StringBuilder sb = new StringBuilder();
+      sb.append("Hosts: ");
+      for (String host : taskLocationHint.getDataLocalHosts()) {
+        hosts.add(host);
+        sb.append(host).append(", ");
+      }
+      sb.append("Racks: ");
+      for (String rack : taskLocationHint.getRacks()) {
+        racks.add(rack);
+        sb.append(rack).append(", ");
+      }
+      LOG.debug("Location: " + counter + " : " + sb.toString());
+      counter++;
+    }
+
+    LOG.debug("Host Counts");
+    for (Multiset.Entry<String> host : hosts.entrySet()) {
+      LOG.debug("host: " + host.toString());
+    }
 
+    LOG.debug("Rack Counts");
+    for (Multiset.Entry<String> rack : racks.entrySet()) {
+      LOG.debug("rack: " + rack.toString());
+    }
+  }
 }