You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Daniel Barclay (Drill) (JIRA)" <ji...@apache.org> on 2015/03/17 20:58:40 UTC

[jira] [Commented] (DRILL-2482) JDBC : calling getObject when the actual column type is 'NVARCHAR' results in NoClassDefFoundError

    [ https://issues.apache.org/jira/browse/DRILL-2482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14365919#comment-14365919 ] 

Daniel Barclay (Drill) commented on DRILL-2482:
-----------------------------------------------

That's weird--I've seen org.apache.hadoop.io.Text objects in tracing proxy output (so the class was found and loaded in that case).

Can you check whether that class--or one with a name ending like that but starting with a different, probably added, package--exists in the Drill Jar file you're using?


Also, is the type NVARCHAR (per your title) or VARCHAR (per your description)?
(Or:  Where does it seem to be NVARCHAR() and where does it seem to be VARCHAR? (I've got a pending patch for an "NVARCHAR" that should be "VARCHAR".))



> JDBC : calling getObject when the actual column type is 'NVARCHAR' results in NoClassDefFoundError
> --------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2482
>                 URL: https://issues.apache.org/jira/browse/DRILL-2482
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - JDBC
>            Reporter: Rahul Challapalli
>            Assignee: Daniel Barclay (Drill)
>
> git.commit.id.abbrev=7b4c887
> I tried to call getObject(i) on a column which is of type varchar, drill failed with the below error :
> {code}
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/io/Text
> 	at org.apache.drill.exec.vector.VarCharVector$Accessor.getObject(VarCharVector.java:407)
> 	at org.apache.drill.exec.vector.NullableVarCharVector$Accessor.getObject(NullableVarCharVector.java:386)
> 	at org.apache.drill.exec.vector.accessor.NullableVarCharAccessor.getObject(NullableVarCharAccessor.java:98)
> 	at org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getObject(BoundCheckingAccessor.java:137)
> 	at org.apache.drill.jdbc.AvaticaDrillSqlAccessor.getObject(AvaticaDrillSqlAccessor.java:136)
> 	at net.hydromatic.avatica.AvaticaResultSet.getObject(AvaticaResultSet.java:351)
> 	at Dummy.testComplexQuery(Dummy.java:94)
> 	at Dummy.main(Dummy.java:30)
> Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.io.Text
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> 	... 8 more
> {code}
> When the underlying type is a primitive, the getObject call succeeds



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)