Author: daijy Date: Thu May 25 00:16:43 2017 New Revision: 1796119 URL: http://svn.apache.org/viewvc?rev=1796119&view=rev Log: PIG-5185: Job name show "DefaultJobName" when running a Python script
Modified: pig/trunk/CHANGES.txt pig/trunk/src/org/apache/pig/scripting/BoundScript.java pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java Modified: pig/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1796119&r1=1796118&r2=1796119&view=diff ============================================================================== --- pig/trunk/CHANGES.txt (original) +++ pig/trunk/CHANGES.txt Thu May 25 00:16:43 2017 @@ -97,6 +97,8 @@ OPTIMIZATIONS Â BUG FIXES +PIG-5185: Job name show "DefaultJobName" when running a Python script (daijy) + PIG-4748: DateTimeWritable forgets Chronology (szita) PIG-5229: TestPigTest.testSpecificOrderOutput and testSpecificOrderOutputForAlias failing (knoguchi) Modified: pig/trunk/src/org/apache/pig/scripting/BoundScript.java URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/scripting/BoundScript.java?rev=1796119&r1=1796118&r2=1796119&view=diff ============================================================================== --- pig/trunk/src/org/apache/pig/scripting/BoundScript.java (original) +++ pig/trunk/src/org/apache/pig/scripting/BoundScript.java Thu May 25 00:16:43 2017 @@ -17,6 +17,7 @@ */ package org.apache.pig.scripting; +import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.StringReader; @@ -264,13 +265,18 @@ public class BoundScript { LOG.info("Query to run:\n" + query); List<PigProgressNotificationListener> listeners = ScriptState.get().getAllListeners(); PigContext pc = scriptContext.getPigContext(); + String scriptName = new File(ScriptState.get().getFileName()).getName(); ScriptState scriptState = pc.getExecutionEngine().instantiateScriptState(); + scriptState.setFileName(scriptName); ScriptState.start(scriptState); ScriptState.get().setScript(query); for (PigProgressNotificationListener listener : listeners) { ScriptState.get().registerListener(listener); } PigServer pigServer = new PigServer(scriptContext.getPigContext(), false); + if (!pigServer.getPigContext().getProperties().containsKey("jobName")) { + pigServer.setJobName(scriptName); + } GruntParser grunt = new GruntParser(new StringReader(query), pigServer); grunt.setInteractive(false); try { Modified: pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java?rev=1796119&r1=1796118&r2=1796119&view=diff ============================================================================== --- pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java (original) +++ pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java Thu May 25 00:16:43 2017 @@ -31,6 +31,7 @@ import org.apache.hadoop.fs.Path; import org.apache.pig.PigRunner; import org.apache.pig.PigServer; import org.apache.pig.data.Tuple; +import org.apache.pig.impl.PigContext; import org.apache.pig.scripting.ScriptEngine; import org.apache.pig.tools.pigstats.OutputStats; import org.apache.pig.tools.pigstats.PigStats; @@ -248,6 +249,8 @@ public class TestScriptLanguage { assertEquals("simple_out", name); assertEquals(12, stats.getBytesWritten()); assertEquals(3, stats.getRecordWritten()); + String jobName = stats.getPigProperties().getProperty(PigContext.JOB_NAME); + assertTrue(jobName.contains("pigRunnerTest")); } @Test @@ -260,6 +263,7 @@ public class TestScriptLanguage { "Pig.fs(\"rmr simple_out2\")", "output1 = 'simple_out'", "output2 = 'simple_out2'", + "P.set(\"jobName\", \"myjob\")", "P = Pig.compile(\"mypipeline\", \"\"\"a = load '$input';store a into '$output';\"\"\")", "Q = P.bind([{'input':input, 'output':output1}, {'input':input, 'output':output2}])", "stats = Q.run()" @@ -284,6 +288,8 @@ public class TestScriptLanguage { assertEquals(1, stats.getNumberJobs()); assertEquals(12, stats.getBytesWritten()); assertEquals(3, stats.getRecordWritten()); + String jobName = stats.getPigProperties().getProperty(PigContext.JOB_NAME); + assertTrue(jobName.contains("myjob")); } }