[xwiki-users] how to debug ObjectNotFoundException?
I recently turned log4j's root category of my xwiki to info and I get floods of the following exceptions: 2010-08-21 22:21:00,381 INFO def.DefaultLoadEventListener - Error performing load command org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.xpn.xwiki.doc.XWikiDocument#2524421] at org.hibernate.impl.SessionFactoryImpl $1.handleEntityNotFound(SessionFactoryImpl.java:377) at org .hibernate .event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java: 145) at org .hibernate .event .def .DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:195) at org .hibernate .event .def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java: 878) at org.hibernate.impl.SessionImpl.load(SessionImpl.java:784) at com .xpn .xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java: 611) this sounds dark and probably a performance eater (exceptions always are even if not stacktraced). Can anyone suggest me a method to identify how to avoid such errors or what they uncover? thanks in advance paul
On 08/21/2010 11:24 PM, Paul Libbrecht wrote:
I recently turned log4j's root category of my xwiki to info and I get floods of the following exceptions:
2010-08-21 22:21:00,381 INFO def.DefaultLoadEventListener - Error performing load command org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.xpn.xwiki.doc.XWikiDocument#2524421] at org.hibernate.impl.SessionFactoryImpl $1.handleEntityNotFound(SessionFactoryImpl.java:377) at org .hibernate .event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java: 145) at org .hibernate .event .def .DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:195) at org .hibernate .event .def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java: 878) at org.hibernate.impl.SessionImpl.load(SessionImpl.java:784) at com .xpn .xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java: 611)
this sounds dark and probably a performance eater (exceptions always are even if not stacktraced). Can anyone suggest me a method to identify how to avoid such errors or what they uncover?
thanks in advance
I guess this is the normal result when trying to load non-existing documents. And XWiki tries to load a lot of such documents, when checking rights or preferences. First performance improvement possible would be to optimize the loadXWikiDocument method to first check if the doc exists, with a "select doc.id from XWikiDocument doc where doc.id like ?", targetDoc.getId(), and checking if there's at least one result. A second performance improvement would be to add more caches everywhere, rights cache, preferences cache, document title cache... -- Sergiu Dumitriu http://purl.org/net/sergiu/
participants (2)
-
Paul Libbrecht -
Sergiu Dumitriu