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.
