Hello !
We were using v.3.0-PROTO for some time now, and suddenly we started to get some weird errors from cayenne (see bottom of this post). We started to have those error when number of records was greater than page size, so after few tests it came clear to me that there is some kind of a conflict between cache and paging.
To reproduce this problem:
1) get a list of objects in context one (paged, LOCAL_CACHE)
2) using different context add more records
3) invalidate cache (using InvalidateListCacheQuery) in context one OR
 use different cache key (query name), do the same query as before
4) first page of records is loaded - ok
5) go to next page of records - fail

Is it some problem with our code, or is it a problem within cayenne itself ? Does anyone has a clue ?
Regards
Marcin

PS full exception we are getting
16:54:41,558 [AWT-EventQueue-0] WARN ish.oncourse.cayenne.CayenneContext - invalidating cache for : I:ish_oncourse_cayenne_Student.* 16:54:42,244 [AWT-EventQueue-0] ERROR ish.oncourse.cayenne.CayenneContext - Error on performQuery org.objectstyle.cayenne.CayenneRuntimeException: [v.3.0-PROTO July 5 2006] Remote error. URL - http://192.168.0.3:8181/angel-server- cayenne; CAUSE - [v.3.0-PROTO July 5 2006] [v.3.0-PROTO July 5 2006] Can't find id for {<ObjectId:Studentid=341>; committed; [highestSchoolLevel=>null; modifiedOn=>Mon Aug 28 16:54:39 EST 2006; disabilityType=>null; waitingLists=>(..); message=>null; paymentsIn=> (..); indigenousStatus=>4; isDeleted=>null; fax=>null; firstName=>xxx; countryOfBirth=>?; employmentCategoryId=>null; )]} at org.objectstyle.cayenne.remote.hessian.HessianConnection.doSendMessage (HessianConnection.java:181) at org.objectstyle.cayenne.remote.BaseConnection.sendMessage (BaseConnection.java:109) at org.objectstyle.cayenne.remote.ClientChannel.send (ClientChannel.java:278) at org.objectstyle.cayenne.remote.ClientChannel.onQuery (ClientChannel.java:124) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery (ObjectContextQueryAction.java:253) at org.objectstyle.cayenne.CayenneContextQueryAction.execute (CayenneContextQueryAction.java:88) at org.objectstyle.cayenne.CayenneContext.onQuery (CayenneContext.java:351) at org.objectstyle.cayenne.CayenneContext.performQuery (CayenneContext.java:340) at ish.oncourse.cayenne.CayenneContext.performQuery (CayenneContext.java:74) at org.objectstyle.cayenne.remote.RemoteIncrementalFaultList.forceResolveIn terval(RemoteIncrementalFaultList.java:279) at org.objectstyle.cayenne.remote.RemoteIncrementalFaultList.resolveInterva l(RemoteIncrementalFaultList.java:264) at org.objectstyle.cayenne.remote.RemoteIncrementalFaultList.get (RemoteIncrementalFaultList.java:453)
        at ish.oncourse.view.COTableModel.getRow(COTableModel.java:152)
at ish.oncourse.view.COTableModel.getValueAt (COTableModel.java:120)
        at javax.swing.JTable.getValueAt(JTable.java:1902)
at ish.oncourse.view.components.Table.adjustColumnPreferredWidths (Table.java:137)
        at ish.oncourse.view.components.Table.access$000(Table.java:59)
        at ish.oncourse.view.components.Table$1.run(Table.java:113)
at java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:176)
        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 ish.oncourse.view.frame.EventPump.start(EventPump.java:46)
at ish.oncourse.view.frame.ProgressComponent.display (ProgressComponent.java:135) at ish.oncourse.util.export.ImportAvetmissStudents.<init> (ImportAvetmissStudents.java:86) at ish.oncourse.util.export.ImportAvetmissStudents.start (ImportAvetmissStudents.java:91) at ish.oncourse.ControllerManager.importAvetmiss (ControllerManager.java:189) at ish.oncourse.view.frame.CommonFrame.importAvetmissStudentsActionPerforme d(CommonFrame.java:1009) at ish.oncourse.view.frame.CommonFrame.access$1300 (CommonFrame.java:66) at ish.oncourse.view.frame.CommonFrame$17.actionPerformed (CommonFrame.java:764) at javax.swing.AbstractButton.fireActionPerformed (AbstractButton.java:1882) at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2202) at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed (DefaultButtonModel.java:258)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
at apple.laf.ScreenMenuItem.actionPerformed (ScreenMenuItem.java:104)
        at java.awt.MenuItem.processActionEvent(MenuItem.java:597)
        at java.awt.MenuItem.processEvent(MenuItem.java:556)
at java.awt.MenuComponent.dispatchEventImpl (MenuComponent.java:298)
        at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:286)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:466)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:176) at java.awt.EventDispatchThread.run(EventDispatchThread.java: 110) Caused by: org.objectstyle.cayenne.CayenneRuntimeException: [v.3.0- PROTO July 5 2006] [v.3.0-PROTO July 5 2006] Can't find id for {<ObjectId:Studentid=341>; committed; [highestSchoolLevel=>null; modifiedOn=>Mon Aug 28 16:54:39 EST 2006; disabilityType=>null; waitingLists=>(..); message=>null; paymentsIn=>(..); indigenousStatus=>4; isDeleted=>null; fax=>null; firstName=>xxx; countryOfBirth=>?; employmentCategoryId=>null; )]} at org.objectstyle.cayenne.access.IncrementalFaultList $IncrementalListHelper.updateWithResolvedObjectInRange (IncrementalFaultList.java:796) at org.objectstyle.cayenne.access.IncrementalFaultList.resolveInterval (IncrementalFaultList.java:444) at org.objectstyle.cayenne.access.IncrementalFaultList.subList (IncrementalFaultList.java:721) at org.objectstyle.cayenne.access.ClientServerChannelQueryAction.interceptS inglePageQuery(ClientServerChannelQueryAction.java:131) at org.objectstyle.cayenne.access.ClientServerChannelQueryAction.execute (ClientServerChannelQueryAction.java:101) at org.objectstyle.cayenne.access.ClientServerChannel.onQuery (ClientServerChannel.java:97) at org.objectstyle.cayenne.remote.service.DispatchHelper.dispatch (DispatchHelper.java:76) at org.objectstyle.cayenne.remote.service.BaseRemoteService.processMessage( BaseRemoteService.java:182)
        at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
at com.caucho.hessian.server.HessianSkeleton.invoke (HessianSkeleton.java:157) at org.objectstyle.cayenne.remote.hessian.service._HessianServlet.service (_HessianServlet.java:388)
        at ish.oncourse.server.CayenneServlet.service(Unknown Source)
at org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:428) at org.mortbay.jetty.servlet.ServletHandler.dispatch (ServletHandler.java:666) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service (HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext (HttpConnection.java:982) at org.mortbay.http.HttpConnection.handle (HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection (SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle (ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run (ThreadPool.java:534)



-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001   fax +61 2 9550 4001


Reply via email to