You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2011/05/05 22:08:30 UTC

svn commit: r1099948 - in /pig/trunk: CHANGES.txt src/org/apache/pig/Main.java src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java src/org/apache/pig/impl/PigContext.java src/org/apache/pig/parser/QueryParserDriver.java

Author: daijy
Date: Thu May  5 20:08:29 2011
New Revision: 1099948

URL: http://svn.apache.org/viewvc?rev=1099948&view=rev
Log:
PIG-2040: Move classloader from QueryParserDriver to PigContext

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/Main.java
    pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
    pig/trunk/src/org/apache/pig/impl/PigContext.java
    pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1099948&r1=1099947&r2=1099948&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu May  5 20:08:29 2011
@@ -200,6 +200,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2040: Move classloader from QueryParserDriver to PigContext (daijy)
+
 PIG-1999: Macro alias masker should consider schema context (rding)
 
 PIG-1821: UDFContext.getUDFProperties does not handle collisions

Modified: pig/trunk/src/org/apache/pig/Main.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/Main.java?rev=1099948&r1=1099947&r2=1099948&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/Main.java (original)
+++ pig/trunk/src/org/apache/pig/Main.java Thu May  5 20:08:29 2011
@@ -67,7 +67,6 @@ import org.apache.pig.impl.util.ObjectSe
 import org.apache.pig.impl.util.PropertiesUtil;
 import org.apache.pig.impl.util.UDFContext;
 import org.apache.pig.parser.DryRunGruntParser;
-import org.apache.pig.parser.QueryParserDriver;
 import org.apache.pig.scripting.ScriptEngine;
 import org.apache.pig.scripting.ScriptEngine.SupportedScriptLang;
 import org.apache.pig.tools.cmdline.CmdLineParser;
@@ -357,7 +356,7 @@ static int run(String args[], PigProgres
         if (properties.get("udf.import.list")!=null)
             PigContext.initializeImportList((String)properties.get("udf.import.list"));
 
-        QueryParserDriver.classloader = pigContext.createCl(null);
+        PigContext.setClassLoader(pigContext.createCl(null));
 
         // construct the parameter substitution preprocessor
         Grunt grunt = null;

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java?rev=1099948&r1=1099947&r2=1099948&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java Thu May  5 20:08:29 2011
@@ -63,7 +63,6 @@ import org.apache.pig.impl.plan.VisitorE
 import org.apache.pig.impl.plan.CompilationMessageCollector.MessageType;
 import org.apache.pig.impl.util.ConfigurationValidator;
 import org.apache.pig.impl.util.LogUtils;
-import org.apache.pig.parser.QueryParserDriver;
 import org.apache.pig.tools.pigstats.PigStats;
 import org.apache.pig.tools.pigstats.PigStatsUtil;
 import org.apache.pig.tools.pigstats.ScriptState;
@@ -222,7 +221,7 @@ public class MapReduceLauncher extends L
             Thread jcThread = new Thread(jc);
             jcThread.setUncaughtExceptionHandler(jctExceptionHandler);
             
-            jcThread.setContextClassLoader(QueryParserDriver.classloader);
+            jcThread.setContextClassLoader(PigContext.getClassLoader());
             
             //All the setup done, now lets launch the jobs.
             jcThread.start();

Modified: pig/trunk/src/org/apache/pig/impl/PigContext.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/PigContext.java?rev=1099948&r1=1099947&r2=1099948&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/impl/PigContext.java (original)
+++ pig/trunk/src/org/apache/pig/impl/PigContext.java Thu May  5 20:08:29 2011
@@ -128,6 +128,8 @@ public class PigContext implements Seria
 
     // List of paths skipped for automatic shipping
     List<String> skippedShipPaths = new ArrayList<String>();
+
+    static private ClassLoader classloader = PigContext.class.getClassLoader();
     
     public PigContext() {
         this(ExecType.MAPREDUCE, new Properties());
@@ -226,7 +228,7 @@ public class PigContext implements Seria
     public void addJar(URL resource) throws MalformedURLException{
         if (resource != null) {
             extraJars.add(resource);
-            QueryParserDriver.classloader = createCl(null);
+            PigContext.classloader = createCl(null);
         }
     }
 
@@ -422,7 +424,7 @@ public class PigContext implements Seria
         for(String prefix: getPackageImportList()) {
             Class c;
             try {
-                c = Class.forName(prefix+name,true, QueryParserDriver.classloader);
+                c = Class.forName(prefix+name,true, PigContext.classloader);
                 return c;
             } 
             catch (ClassNotFoundException e) {
@@ -644,4 +646,10 @@ public class PigContext implements Seria
     {
         defaultLogLevel = l;
     }
+    public static ClassLoader getClassLoader() {
+        return classloader;
+    }
+    public static void setClassLoader(ClassLoader cl) {
+        classloader = cl;
+    }
 }

Modified: pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java?rev=1099948&r1=1099947&r2=1099948&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java (original)
+++ pig/trunk/src/org/apache/pig/parser/QueryParserDriver.java Thu May  5 20:08:29 2011
@@ -46,8 +46,6 @@ import org.apache.pig.parser.QueryParser
 import org.apache.pig.tools.pigstats.ScriptState;
 
 public class QueryParserDriver {
-    public static ClassLoader classloader = QueryParserDriver.class.getClassLoader();
-    
     private static final Log LOG = LogFactory.getLog(QueryParserDriver.class);
     
     private static final String MACRO_DEF = "MACRO_DEF";