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)