LucidDB / luciddb

DEFUNCT: See README
https://github.com/LucidDB/luciddb
Apache License 2.0
53 stars 24 forks source link

[FRG-281] Problems running time dimension UDX #591

Closed dynamobi-build closed 12 years ago

dynamobi-build commented 12 years ago

[reporter="elin", created="Fri, 13 Jul 2007 19:00:43 -0500 (GMT-05:00)"] Running time dimension UDX on my dev enviromnent using sqllineEngine fails even though there have been no changes to any of the time dimension code. It's getting a java.lang.NoSuchFieldError when the UDX calls the static function of another UDF.

If you delete the class files in luciddb and farrago, the generated applib resource files and the jars under the luciddb plugin directory and rebuild, the problem will stop happening.

[excerpt from im log w/ jvs]
(06:11:42 PM) jsichi: Hmmm...could be some weird classloader thing since the UDF's public static entry point gets loaded if it's used from SQL also. I don't know why deleting everything would help...could be just an accidental help from shutdown and then restart.
(06:12:20 PM) jsichi: The way to test it would be to move the implementation of getCalendarQuarter into some other common class, have both call it, and see if the prob goes away.
(06:13:05 PM) jsichi: If so, that would be something to log a bug for (either we figure out a way to improve the classloading, or write up documentation on this as a pattern to avoid).

===========
Doing the above suggestion does fix the problem

dynamobi-build commented 12 years ago

[author="jvs", created="Sat, 14 Jul 2007 14:18:28 -0500 (GMT-05:00)"] Reassiging to Liz for a repro; it must be something strange with an extra .class file lying around, so that we end up with it getting loaded twice (once from the filesystem, and once from the .jar).

----

Unfortunately, I can't seem to get it back into that state again. I'll
let you know if I run into it again.

Thanks,
Liz

John Sichi wrote:

Can you get it into a bad state for me on tikki01-red in /home/elin/open/luciddb and then I can debug it? I want to see if there is somehow an extra copy of ApplibResource.class getting picked up to confuse the classloader.

JVS

-----Original Message-----
From: Elizabeth Lin
Sent: Fri 7/13/2007 6:06 PM
To: John Sichi
Subject: better stack


Jul 13, 2007 5:20:48 PM net.sf.farrago.db.FarragoDbSession prepare
INFO: select count(_), count(distinct time_key) from
table(applib.fiscal_time_dimension(1995, 1,1,2010,12,31,3))
Jul 13, 2007 5:20:54 PM org.eigenbase.util.EigenbaseException
SEVERE: org.eigenbase.util.EigenbaseException: Invocation of
user-defined external Java method execute failed
Jul 13, 2007 5:20:55 PM net.sf.farrago.jdbc.FarragoJdbcUtil newSqlException
SEVERE: error while fetching from cursor
Jul 13, 2007 5:20:55 PM FarragoJdbcUtil newSqlException(ex)
FINER: THROW
java.sql.SQLException: error while fetching from cursor
at
org.eigenbase.util14.AbstractResultSet.newFetchError(AbstractResultSet.java:1651)
at
org.eigenbase.runtime.TupleIterResultSet.next(TupleIterResultSet.java:116)
at
net.sf.farrago.runtime.FarragoTupleIterResultSet.next(FarragoTupleIterResultSet.java:120)
at
sqlline.SqlLine$BufferedRows.(Lsqlline.SqlLine;Ljava.sql.ResultSet;)V(Unknown
Source)
at sqlline.SqlLine.print(Ljava.sql.ResultSet;)I(Unknown Source)
at sqlline.SqlLine$Commands.execute(Ljava.lang.String;Z)Z(Unknown
Source)
at sqlline.SqlLine$Commands.sql(Ljava.lang.String;)Z(Unknown Source)
at sqlline.SqlLine.dispatch(Ljava.lang.String;)Z(Unknown Source)
at
sqlline.SqlLine.begin([Ljava.lang.String;Ljava.io.InputStream;)V(Unknown
Source)
at
sqlline.SqlLine.mainWithInputRedirection([Ljava.lang.String;Ljava.io.InputStream;)V(Unknown
Source)
at sqlline.SqlLine.main([Ljava.lang.String;)V(Unknown Source)
Caused by: org.eigenbase.util.EigenbaseException: Invocation of
user-defined external Java method execute failed
at
net.sf.farrago.resource.FarragoResource$_Def0.ex(FarragoResource.java:1719)
at
net.sf.farrago.runtime.FarragoRuntimeContext.handleRoutineInvocationException(FarragoRuntimeContext.java:797)
at net.sf.farrago.dynamic.stmt1.Transformer1$2.executeUdx()V(Unknown
Source)
at
net.sf.farrago.runtime.FarragoJavaUdxIterator.doWork(FarragoJavaUdxIterator.java:125)
at org.eigenbase.runtime.ThreadIterator.run(ThreadIterator.java:104)
at java.lang.Thread.run()V(Unknown Source)
Caused by: java.lang.NoSuchFieldError: CalendarQuarter
at
com.lucidera.luciddb.applib.datetime.CalendarQuarterUdf.getCalendarQuarter(CalendarQuarterUdf.java:78)
at
com.lucidera.luciddb.applib.datetime.FiscalTimeDimensionUdx.execute(FiscalTimeDimensionUdx.java:150)
... 4 more
Jul 13, 2007 5:20:55 PM net.sf.farrago.jdbc.FarragoJdbcUtil newSqlException
SEVERE: Invocation of user-defined external Java method execute failed
Jul 13, 2007 5:20:55 PM FarragoJdbcUtil newSqlException(ex)
FINER: THROW
org.eigenbase.util.EigenbaseException: Invocation of user-defined
external Java method execute failed
at
net.sf.farrago.resource.FarragoResource$Def0.ex(FarragoResource.java:1719)
at
net.sf.farrago.runtime.FarragoRuntimeContext.handleRoutineInvocationException(FarragoRuntimeContext.java:797)
at net.sf.farrago.dynamic.stmt1.Transformer1$2.executeUdx()V(Unknown
Source)
at
net.sf.farrago.runtime.FarragoJavaUdxIterator.doWork(FarragoJavaUdxIterator.java:125)
at org.eigenbase.runtime.ThreadIterator.run(ThreadIterator.java:104)
at java.lang.Thread.run()V(Unknown Source)
Caused by: java.lang.NoSuchFieldError: CalendarQuarter
at
com.lucidera.luciddb.applib.datetime.CalendarQuarterUdf.getCalendarQuarter(CalendarQuarterUdf.java:78)
at
com.lucidera.luciddb.applib.datetime.FiscalTimeDimensionUdx.execute(FiscalTimeDimensionUdx.java:150)
... 4 more
Jul 13, 2007 5:20:55 PM net.sf.farrago.jdbc.FarragoJdbcUtil newSqlException
SEVERE: CalendarQuarter
Jul 13, 2007 5:20:55 PM FarragoJdbcUtil newSqlException(ex)
FINER: THROW
java.lang.NoSuchFieldError: CalendarQuarter
at
com.lucidera.luciddb.applib.datetime.CalendarQuarterUdf.getCalendarQuarter(CalendarQuarterUdf.java:78)
at
com.lucidera.luciddb.applib.datetime.FiscalTimeDimensionUdx.execute(FiscalTimeDimensionUdx.java:150)
at net.sf.farrago.dynamic.stmt1.Transformer1$2.executeUdx()V(Unknown
Source)
at
net.sf.farrago.runtime.FarragoJavaUdxIterator.doWork(FarragoJavaUdxIterator.java:125)
at org.eigenbase.runtime.ThreadIterator.run(ThreadIterator.java:104)
at java.lang.Thread.run()V(Unknown Source)
Jul 13, 2007 5:20:55 PM net.sf.farrago.db.FarragoDbSession commitImpl
INFO: commit
Jul 13, 2007 5:20:55 PM net.sf.farrago.db.FarragoDbStmtContext cancel
INFO: cancel
Jul 13, 2007 5:22:10 PM net.sf.farrago.db.FarragoDbStmtContext cancel
INFO: cancel
Jul 13, 2007 5:22:10 PM net.sf.farrago.db.FarragoDbSession prepare
INFO: select count(
), count(distinct time_key) from
table(applib.fiscal_time_dimension(1995, 1,1,2010,12,31,3))
Jul 13, 2007 5:22:10 PM org.eigenbase.util.EigenbaseException
SEVERE: org.eigenbase.util.EigenbaseException: Invocation of
user-defined external Java method execute failed
Jul 13, 2007 5:22:10 PM net.sf.farrago.jdbc.FarragoJdbcUtil newSqlException
SEVERE: error while fetching from cursor
Jul 13, 2007 5:22:10 PM FarragoJdbcUtil newSqlException(ex)
FINER: THROW
java.sql.SQLException: error while fetching from cursor
at
org.eigenbase.util14.AbstractResultSet.newFetchError(AbstractResultSet.java:1651)
at
org.eigenbase.runtime.TupleIterResultSet.next(TupleIterResultSet.java:116)
at
net.sf.farrago.runtime.FarragoTupleIterResultSet.next(FarragoTupleIterResultSet.java:120)
at
sqlline.SqlLine$BufferedRows.(Lsqlline.SqlLine;Ljava.sql.ResultSet;)V(Unknown
Source)
at sqlline.SqlLine.print(Ljava.sql.ResultSet;)I(Unknown Source)
at sqlline.SqlLine$Commands.execute(Ljava.lang.String;Z)Z(Unknown
Source)
at sqlline.SqlLine$Commands.sql(Ljava.lang.String;)Z(Unknown Source)
at sqlline.SqlLine.dispatch(Ljava.lang.String;)Z(Unknown Source)
at
sqlline.SqlLine.begin([Ljava.lang.String;Ljava.io.InputStream;)V(Unknown
Source)
at
sqlline.SqlLine.mainWithInputRedirection([Ljava.lang.String;Ljava.io.InputStream;)V(Unknown
Source)
at sqlline.SqlLine.main([Ljava.lang.String;)V(Unknown Source)
Caused by: org.eigenbase.util.EigenbaseException: Invocation of
user-defined external Java method execute failed
at
net.sf.farrago.resource.FarragoResource$_Def0.ex(FarragoResource.java:1719)
at
net.sf.farrago.runtime.FarragoRuntimeContext.handleRoutineInvocationException(FarragoRuntimeContext.java:797)
at net.sf.farrago.dynamic.stmt1.Transformer1$2.executeUdx()V(Unknown
Source)
at
net.sf.farrago.runtime.FarragoJavaUdxIterator.doWork(FarragoJavaUdxIterator.java:125)
at org.eigenbase.runtime.ThreadIterator.run(ThreadIterator.java:104)
at java.lang.Thread.run()V(Unknown Source)
Caused by: java.lang.NoSuchFieldError: CalendarQuarter
at
com.lucidera.luciddb.applib.datetime.CalendarQuarterUdf.getCalendarQuarter(CalendarQuarterUdf.java:78)
at
com.lucidera.luciddb.applib.datetime.FiscalTimeDimensionUdx.execute(FiscalTimeDimensionUdx.java:150)
... 4 more
Jul 13, 2007 5:22:10 PM net.sf.farrago.jdbc.FarragoJdbcUtil newSqlException
SEVERE: Invocation of user-defined external Java method execute failed
Jul 13, 2007 5:22:10 PM FarragoJdbcUtil newSqlException(ex)
FINER: THROW
org.eigenbase.util.EigenbaseException: Invocation of user-defined
external Java method execute failed
at
net.sf.farrago.resource.FarragoResource$_Def0.ex(FarragoResource.java:1719)
at
net.sf.farrago.runtime.FarragoRuntimeContext.handleRoutineInvocationException(FarragoRuntimeContext.java:797)
at net.sf.farrago.dynamic.stmt1.Transformer1$2.executeUdx()V(Unknown
Source)
at
net.sf.farrago.runtime.FarragoJavaUdxIterator.doWork(FarragoJavaUdxIterator.java:125)
at org.eigenbase.runtime.ThreadIterator.run(ThreadIterator.java:104)
at java.lang.Thread.run()V(Unknown Source)
Caused by: java.lang.NoSuchFieldError: CalendarQuarter
at
com.lucidera.luciddb.applib.datetime.CalendarQuarterUdf.getCalendarQuarter(CalendarQuarterUdf.java:78)
at
com.lucidera.luciddb.applib.datetime.FiscalTimeDimensionUdx.execute(FiscalTimeDimensionUdx.java:150)
... 4 more
Jul 13, 2007 5:22:10 PM net.sf.farrago.jdbc.FarragoJdbcUtil newSqlException
SEVERE: CalendarQuarter
Jul 13, 2007 5:22:10 PM FarragoJdbcUtil newSqlException(ex)
FINER: THROW
java.lang.NoSuchFieldError: CalendarQuarter
at
com.lucidera.luciddb.applib.datetime.CalendarQuarterUdf.getCalendarQuarter(CalendarQuarterUdf.java:78)
at
com.lucidera.luciddb.applib.datetime.FiscalTimeDimensionUdx.execute(FiscalTimeDimensionUdx.java:150)
at net.sf.farrago.dynamic.stmt1.Transformer1$2.executeUdx()V(Unknown
Source)
at
net.sf.farrago.runtime.FarragoJavaUdxIterator.doWork(FarragoJavaUdxIterator.java:125)
at org.eigenbase.runtime.ThreadIterator.run(ThreadIterator.java:104)
at java.lang.Thread.run()V(Unknown Source)
Jul 13, 2007 5:22:10 PM net.sf.farrago.db.FarragoDbSession commitImpl
INFO: commit
Jul 13, 2007 5:22:10 PM net.sf.farrago.db.FarragoDbStmtContext cancel
INFO: cancel




dynamobi-build commented 12 years ago

[author="jvs", created="Mon, 11 Aug 2008 13:36:56 -0500 (GMT-05:00)"] Never got a repro.