Author: pradeepkth
Date: Wed Feb  3 00:26:13 2010
New Revision: 905850

URL: http://svn.apache.org/viewvc?rev=905850&view=rev
Log:
changes to make IndexableLoadFunc work

Modified:
    hadoop/pig/branches/load-store-redesign/src/org/apache/pig/LoadFunc.java
    
hadoop/pig/branches/load-store-redesign/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java

Modified: 
hadoop/pig/branches/load-store-redesign/src/org/apache/pig/LoadFunc.java
URL: 
http://svn.apache.org/viewvc/hadoop/pig/branches/load-store-redesign/src/org/apache/pig/LoadFunc.java?rev=905850&r1=905849&r2=905850&view=diff
==============================================================================
--- hadoop/pig/branches/load-store-redesign/src/org/apache/pig/LoadFunc.java 
(original)
+++ hadoop/pig/branches/load-store-redesign/src/org/apache/pig/LoadFunc.java 
Wed Feb  3 00:26:13 2010
@@ -117,7 +117,9 @@
     public abstract void prepareToRead(RecordReader reader, PigSplit split) 
throws IOException;
 
     /**
-     * Retrieves the next tuple to be processed.
+     * Retrieves the next tuple to be processed. Implementations should NOT 
reuse
+     * tuple objects they return across calls and should return a different 
tuple 
+     * object in each call.
      * @return the next tuple to be processed or null if there are no more 
tuples
      * to be processed.
      * @throws IOException if there is an exception while retrieving the next

Modified: 
hadoop/pig/branches/load-store-redesign/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java
URL: 
http://svn.apache.org/viewvc/hadoop/pig/branches/load-store-redesign/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java?rev=905850&r1=905849&r2=905850&view=diff
==============================================================================
--- 
hadoop/pig/branches/load-store-redesign/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java
 (original)
+++ 
hadoop/pig/branches/load-store-redesign/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java
 Wed Feb  3 00:26:13 2010
@@ -26,6 +26,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.Job;
 import org.apache.pig.FuncSpec;
 import org.apache.pig.IndexableLoadFunc;
@@ -397,9 +398,11 @@
         pc = 
(PigContext)ObjectSerializer.deserialize(PigMapReduce.sJobConf.get("pig.pigContext"));
         pc.connect();
         // Pass signature of the loader to rightLoader
-        PigMapReduce.sJobConf.set("pig.loader.signature", signature);
-        rightLoader.initialize(PigMapReduce.sJobConf);
-        rightLoader.setLocation(rightInputFileName, new 
Job(PigMapReduce.sJobConf));
+        // make a copy of the conf to use in calls to rightLoader.
+        Configuration conf = new Configuration(PigMapReduce.sJobConf);
+        conf.set("pig.loader.signature", signature);
+        rightLoader.setLocation(rightInputFileName, new Job(conf));
+        rightLoader.initialize(conf);
         rightLoader.seekNear(
                 firstLeftKey instanceof Tuple ? (Tuple)firstLeftKey : 
mTupleFactory.newTuple(firstLeftKey));
     }


Reply via email to