[
https://issues.apache.org/jira/browse/PIG-3667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13881562#comment-13881562
]
Cheolsoo Park commented on PIG-3667:
------------------------------------
[~suhassatish], you marked the jira as "fixed" by yourself even though the
patch was not committed. Why did you do you that? Wasn't that because you don't
need to fix it anymore?
> build.xml jar-all target does not include jython*.jar in lib/ directory
> ------------------------------------------------------------------------
>
> Key: PIG-3667
> URL: https://issues.apache.org/jira/browse/PIG-3667
> Project: Pig
> Issue Type: Bug
> Components: build
> Affects Versions: 0.12.0
> Reporter: Suhas Satish
> Assignee: Suhas Satish
> Labels: build
> Attachments: PIG-3667.patch
>
>
> Pig package does not include the jython jar within lib/ directory with the
> jar-all ant target but includes it in the "ant package" target. It should be
> including it in both targets as often, the build/ directory is excluded from
> packaging which is where ivy puts all the dependency jars while building
> under build/ivy/lib/Pig
> To reproduce:
> ant jar-all
> rm -rf build/
> bin/pig
> grunt> register '/tmp/test.py' using jython as myfunction;
> If done prior to installing jython, here's the error one gets:
> 2013-12-27 18:22:31,145 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR
> 2998: Unhandled internal error. org/python/core/PyObject
> Details at logfile: pig_*.log
> Within the pig_*.log =>
> <log>
> Pig Stack Trace
> ---------------
> ERROR 2998: Unhandled internal error. org/python/core/PyObject
> java.lang.NoClassDefFoundError: org/python/core/PyObject
> at
> org.apache.pig.scripting.jython.JythonScriptEngine.registerFunctions(JythonScriptEngine.java:304)
> at org.apache.pig.PigServer.registerCode(PigServer.java:501)
> at
> org.apache.pig.tools.grunt.GruntParser.processRegister(GruntParser.java:436)
> at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:445)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:194)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170)
> at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
> at org.apache.pig.Main.run(Main.java:538)
> at org.apache.pig.Main.main(Main.java:157)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
> Caused by: java.lang.ClassNotFoundException: org.python.core.PyObject
> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> ... 14 more
> Fix: Including jython*.jar within the lib/ directory gets rid of this issue
> and the UDF can be loaded-
> grunt> register '/tmp/test.py' using jython as myfuncs;
> 2013-12-27 18:37:02,402 [main] INFO
> org.apache.pig.scripting.jython.JythonScriptEngine - created tmp
> python.cachedir=/tmp/pig_jython_4887743829482443898
> 2013-12-27 18:37:03,448 [main] WARN
> org.apache.pig.scripting.jython.JythonScriptEngine - pig.cmd.args.remainders
> is
> empty. This is not expected unless on testing.
> 2013-12-27 18:37:03,724 [main] INFO
> org.apache.pig.scripting.jython.JythonScriptEngine - Register scripting UDF:
> myfuncs.helloworld
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)