I'm using Cayenne for my Tapestry web apps - all run on the same version of
Jetty both locally when debugging and live. On occasion - when I deploy a
war file to the live server - a 'random' database insert will cause exactly
the following exception to occur. I could then change any irrelevant thing
(add white-space to a mark-up file for example) and re-deploy the war and
this exception will just go away.

It also seems to have the potential to occur only on a single random commit
(always on insertions). But only on one per deployment. Other inserts will
work fine - even the exact same code will work fine on a different web-app
deployed in exactly the same way to an identical live server.

I was wondering if anyone else may have experienced this? I haven't been
able to figure out the root of it over the past month or so experiencing it
using the latest snapshot of Cayenne. Sometimes it happens, sometimes it
doesn't and only when packaged in a WAR and deployed to my live Jetty
server.

If there's any other info I could provide that would lead to any conclusions
please do let me know!

Caused by: java.lang.NullPointerException
at
org.apache.cayenne.ashwood.AshwoodEntitySorter$DbEntityComparator.compare(AshwoodEntitySorter.java:364)
at
org.apache.cayenne.ashwood.AshwoodEntitySorter$DbEntityComparator.compare(AshwoodEntitySorter.java:351)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
at java.util.TimSort.sort(TimSort.java:220)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at
org.apache.cayenne.ashwood.AshwoodEntitySorter.sortDbEntities(AshwoodEntitySorter.java:182)
at
com.jamesinnes.web.services.MyAshwoodEntitySorter.sortDbEntities(MyAshwoodEntitySorter.java:19)
at
org.apache.cayenne.access.DataDomainInsertBucket.appendQueriesInternal(DataDomainInsertBucket.java:56)
at
org.apache.cayenne.access.DataDomainSyncBucket.appendQueries(DataDomainSyncBucket.java:78)
at
org.apache.cayenne.access.DataDomainFlushAction.preprocess(DataDomainFlushAction.java:189)
at
org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:145)
at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:629)
at org.apache.cayenne.access.DataDomain.onSyncNoFilters(DataDomain.java:598)
at
org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(DataDomain.java:746)
at
org.apache.cayenne.tx.TransactionFilter$1.perform(TransactionFilter.java:73)
at
org.apache.cayenne.tx.TransactionFilter$1.perform(TransactionFilter.java:70)
at
org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:53)
at org.apache.cayenne.tx.TransactionFilter.onSync(TransactionFilter.java:70)
at
org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(DataDomain.java:746)
at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:585)
at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:744)
... 121 more

Thanks!
Peter



--
View this message in context: 
http://cayenne.195.n3.nabble.com/Erratic-AshwoodEntitySorter-NPE-on-Latest-Snapshot-tp4027453.html
Sent from the Cayenne - User mailing list archive at Nabble.com.

Reply via email to