Author: gunther
Date: Mon Mar 24 20:59:00 2014
New Revision: 1581060

URL: http://svn.apache.org/r1581060
Log:
HIVE-6702: TezMergedLogicalInput needs to inform the framework when it is ready 
(Siddharth Seth via Gunther Hagleitner)

Modified:
    
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/tools/TezMergedLogicalInput.java

Modified: 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/tools/TezMergedLogicalInput.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/tools/TezMergedLogicalInput.java?rev=1581060&r1=1581059&r2=1581060&view=diff
==============================================================================
--- 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/tools/TezMergedLogicalInput.java
 (original)
+++ 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/tools/TezMergedLogicalInput.java
 Mon Mar 24 20:59:00 2014
@@ -17,12 +17,10 @@
  */
 package org.apache.hadoop.hive.ql.exec.tez.tools;
 
-import java.util.List;
+import java.util.IdentityHashMap;
+import java.util.Map;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.tez.runtime.api.Input;
-import org.apache.tez.runtime.api.LogicalInput;
 import org.apache.tez.runtime.api.MergedLogicalInput;
 import org.apache.tez.runtime.api.Reader;
 
@@ -32,6 +30,8 @@ import org.apache.tez.runtime.api.Reader
  */
 public class TezMergedLogicalInput extends MergedLogicalInput {
 
+  private Map<Input, Boolean> readyInputs = new IdentityHashMap<Input, 
Boolean>();
+  
   @Override
   public Reader getReader() throws Exception {
     return new InputMerger(getInputs());
@@ -39,6 +39,11 @@ public class TezMergedLogicalInput exten
 
   @Override
   public void setConstituentInputIsReady(Input input) {
-    // ignore notification
+    synchronized (this) {
+      readyInputs.put(input, Boolean.TRUE);
+    }
+    if (readyInputs.size() == getInputs().size()) {
+      informInputReady();
+    }
   }
 }


Reply via email to