I've got a Cayenne 1.1 application that has been running fine for years.
Today we hit a strange error, a Numeric Overflow on a relationship list
fetch.
I've looked through the tables involved (account, user_account_relationship)
and didn't find any large values.
I am still looking through other table values. I guess maybe it's hitting
the problem on prefetching something else?
Anyone have any other ideas?
Caused by: org.objectstyle.cayenne.CayenneRuntimeException: [v.1.1-dev March
27 2008] Query exception.
at
org.objectstyle.cayenne.access.util.SelectObserver.nextQueryException(SelectObserver.java:213)
at
org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:364)
at
org.objectstyle.cayenne.access.DataDomain.performQueries(DataDomain.java:654)
at
org.objectstyle.cayenne.access.DataContext.performQueries(DataContext.java:1408)
at
org.objectstyle.cayenne.access.Transaction.performQueries(Transaction.java:179)
at
org.objectstyle.cayenne.access.DataContext.performQueries(DataContext.java:1366)
at
org.objectstyle.cayenne.access.DataRowStore.getSnapshot(DataRowStore.java:310)
at
org.objectstyle.cayenne.access.ObjectStore.getSnapshot(ObjectStore.java:737)
at
org.objectstyle.cayenne.access.ObjectStore.resolveHollow(ObjectStore.java:977)
at
org.objectstyle.cayenne.CayenneDataObject.resolveFault(CayenneDataObject.java:217)
at
org.objectstyle.cayenne.CayenneDataObject.readProperty(CayenneDataObject.java:227)
at
com.xyz.cayenne.ebpp.entity.generated._Account.getUserAccountRelationshipList(_Account.java:1782)
at
com.xyz.struts.ebpp.business.batch.BillingTasks.checkForNewBills(BillingTasks.java:120)
at
com.xyz.struts.ebpp.business.batch.BillingTasks.recoverCheckForNewBills(BillingTasks.java:104)
at
com.xyz.struts.ebpp.business.batch.TaskProcessor.processBatchJob(TaskProcessor.java:99)
at
com.xyz.struts.ebpp.business.batch.CronBasedTaskScheduler.checkScheduledEvents(CronBasedTaskScheduler.java:449)
... 2 more
Caused by: java.sql.SQLException: Numeric Overflow
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
at
oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:6797)
at
oracle.jdbc.driver.NumberCommonAccessor.getInt(NumberCommonAccessor.java:106)
at
oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:482)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.objectstyle.cayenne.access.types.DefaultType.materializeObject(DefaultType.java:243)
at
org.objectstyle.cayenne.access.DefaultResultIterator.readDataRow(DefaultResultIterator.java:250)
at
org.objectstyle.cayenne.access.DefaultResultIterator.nextDataRow(DefaultResultIterator.java:194)
at
org.objectstyle.cayenne.access.DefaultResultIterator.dataRows(DefaultResultIterator.java:224)
at org.objectstyle.cayenne.access.DataNode.runSelect(DataNode.java:413)
at
org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:350)
... 16 more