Just have an update here - with M3 I am still experiencing a very random occurrence of the following exception still.
First of all - when the webapp is run in Jetty or Tomcat (versions/OS don't seem to have an effect at all) there is a roll of the dice as to whether 'Can't extract a master key' will rear its ugly head. Secondly - when it does rear its ugly head there is a further roll of the dice for which insert it occurs on - though it will always occur. This is really making patching and testing a proper nightmare - as such I wondered if anyone else was experiencing this or could shed light on a workaround or fix. Stack Trace: org.apache.cayenne.CayenneRuntimeException: [v.4.0.M3 Feb 08 2016 16:38:05] 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) -- View this message in context: http://cayenne.195.n3.nabble.com/Erratic-AshwoodEntitySorter-NPE-on-Latest-Snapshot-tp4027453p4028307.html Sent from the Cayenne - User mailing list archive at Nabble.com.
