Hello, I'm really sorry for how long it took to respond to this - sadly did not have time to look into it further due to time constraints at work.
The problem still exhibits itself - I've rebuilt Cayenne 4 a couple of times - I'm also seeing it manifest with the following exception: Caused by: org.apache.cayenne.CayenneRuntimeException: [v.4.0.M3-SNAPSHOT Jan 12 2016 15:08:09] Can't extract a master key. Missing key (id), master ID () at org.apache.cayenne.access.DataDomainSyncBucket$PropagatedValueFactory.create(DataDomainSyncBucket.java:311) at org.apache.cayenne.query.BatchQueryRow.getValue(BatchQueryRow.java:64) at org.apache.cayenne.query.InsertBatchQuery$1.getValue(InsertBatchQuery.java:64) at org.apache.cayenne.access.translator.batch.InsertBatchTranslator.doUpdateBindings(InsertBatchTranslator.java:119) at org.apache.cayenne.access.translator.batch.DefaultBatchTranslator.updateBindings(DefaultBatchTranslator.java:78) at org.apache.cayenne.access.jdbc.BatchAction.runAsIndividualQueries(BatchAction.java:169) at org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.java:92) at org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:97) at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:306) at org.apache.cayenne.access.DataDomainFlushAction.runQueries(DataDomainFlushAction.java:234) at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:155) 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) at org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:693) at com.jamesinnes.web.services.ShopServiceImpl.registerNewClient(ShopServiceImpl.java:358) Have seen a few people getting this after searching the mailing list - I'm wondering whether writing my own entity sorter might be the quickest route to a fix as soon as I can dedicate some time to it! It occurred to me that others may have their own implementations of Ashwood or other entity sorters - anyone up for sharing? Or perhaps has there been any news as regards a potential fix for this? Thanks all! -- View this message in context: http://cayenne.195.n3.nabble.com/Erratic-AshwoodEntitySorter-NPE-on-Latest-Snapshot-tp4027453p4028225.html Sent from the Cayenne - User mailing list archive at Nabble.com.