hadoop-pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pi Song (JIRA)" <j...@apache.org>
Subject [jira] Updated: (PIG-183) Pig could not resolve my udf class
Date Wed, 09 Apr 2008 12:50:24 GMT

     [ https://issues.apache.org/jira/browse/PIG-183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Pi Song updated PIG-183:
------------------------

    Attachment: pig_183_v1.patch

Mismatch java versions is something I also come across very often. I think the real problem
is that our code does swallow exception. Here is the patch that exposes it as RuntimeException.

The new error message will look like this:-
{noformat}
08/04/09 22:29:44 ERROR grunt.Grunt: java.lang.RuntimeException: could not instantiate 'org.apache.pig.test.udf.storefunc.StringStore'
with arguments '[]'
	at org.apache.pig.impl.PigContext.instantiateFunc(PigContext.java:509)
	at org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:515)
	at org.apache.pig.impl.logicalLayer.LOLoad.<init>(LOLoad.java:54)
	at org.apache.pig.impl.logicalLayer.parser.QueryParser.LoadClause(QueryParser.java:802)
	at org.apache.pig.impl.logicalLayer.parser.QueryParser.BaseExpr(QueryParser.java:635)
	at org.apache.pig.impl.logicalLayer.parser.QueryParser.Expr(QueryParser.java:491)
	at org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.java:341)
	at org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBuilder.java:47)
	at org.apache.pig.PigServer.registerQuery(PigServer.java:262)
	at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:446)
	at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:226)
	at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:62)
	at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:60)
	at org.apache.pig.test.TestGrunt.testUDF(TestGrunt.java:47)
	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:585)
	at junit.framework.TestCase.runTest(TestCase.java:164)
	at junit.framework.TestCase.runBare(TestCase.java:130)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:228)
	at junit.framework.TestSuite.run(TestSuite.java:223)
	at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.RuntimeException: java.lang.UnsupportedClassVersionError: Bad version
number in .class file
	at org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:449)
	at org.apache.pig.impl.PigContext.instantiateFunc(PigContext.java:491)
	... 32 more
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:242)
	at org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:442)
	... 33 more
{noformat}

> Pig could not resolve my udf class
> ----------------------------------
>
>                 Key: PIG-183
>                 URL: https://issues.apache.org/jira/browse/PIG-183
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Xu Zhang
>            Assignee: Pi Song
>         Attachments: pig_183_v1.patch, testudf.jar
>
>
> When I ran the following Pig script with the latest Pig stuff, I got an exception for
unresolved class. I noticed that org.apache.pig.test.udf.storefunc is not among the packages
that Pig searches ([, org.apache.pig.builtin., com.yahoo.pig.yst.sds.ULT., org.apache.pig.impl.builtin.]).

> I am sure that the package path for StringStore (org.apache.pig.test.udf.storefunc) is
correct in testudf.jar.  I attached testudf.jar here with this bug report. 
> {code}
> register /path/to/my/jar/testudf.jar;
> A = load '/user/pig/tests/data/singlefile/textdoc' using org.apache.pig.test.udf.storefunc.StringStore();
> store A into 'results_4_1';
> {code}
> {noformat}
> 2008-04-03 13:20:25,154 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine
- Connecting to hadoop file system at: wilbur11.labs.corp.sp1.yahoo.com:8020
> 2008-04-03 13:20:25,781 [main] ERROR org.apache.pig.tools.grunt.Grunt - java.lang.RuntimeException:
could not instantiate 'org.apache.pig.test.udf.storefunc.StringStore' with arguments '[]'
>         at org.apache.pig.impl.PigContext.instantiateFunc(PigContext.java:504)
>         at org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:510)
>         at org.apache.pig.impl.io.ValidatingInputFileSpec.getSlicer(ValidatingInputFileSpec.java:50)
>         at org.apache.pig.impl.io.ValidatingInputFileSpec.validate(ValidatingInputFileSpec.java:42)
>         at org.apache.pig.impl.io.ValidatingInputFileSpec.<init>(ValidatingInputFileSpec.java:37)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.LoadClause(QueryParser.java:795)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.BaseExpr(QueryParser.java:628)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.Expr(QueryParser.java:484)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.java:334)
>         at org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBuilder.java:47)
>         at org.apache.pig.PigServer.registerQuery(PigServer.java:262)
>         at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:446)
>         at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:226)
>         at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:62)
>         at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:60)
>         at org.apache.pig.Main.main(Main.java:265)
> Caused by: java.io.IOException: Could not resolve org.apache.pig.test.udf.storefunc.StringStore
using imports: [, org.apache.pig.builtin., com.yahoo.pig.yst.sds.ULT., org.apache.pig.impl.builtin.]
>         at org.apache.pig.impl.util.WrappedIOException.wrap(WrappedIOException.java:16)
>         at org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:456)
>         at org.apache.pig.impl.PigContext.instantiateFunc(PigContext.java:486)
>         ... 15 more
> Caused by: java.lang.ClassNotFoundException: Could not resolve org.apache.pig.test.udf.storefunc.StringStore
using imports: [, org.apache.pig.builtin., com.yahoo.pig.yst.sds.ULT., org.apache.pig.impl.builtin.]
>         at org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:455)
>         ... 16 more
> 2008-04-03 13:20:25,784 [main] ERROR org.apache.pig.tools.grunt.Grunt - could not instantiate
'org.apache.pig.test.udf.storefunc.StringStore' with arguments '[]'
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message