Same problem happened in Agrest. Let me know if you want me to check that in the meantime.
A. > On Apr 15, 2020, at 3:42 PM, Nikita Timofeev <ntimof...@objectstyle.com> > wrote: > > I just checked LinkMove with the fixed version, everything seems good to me. > I'll start a new voting thread. > > On Tue, Apr 14, 2020 at 7:57 PM Andrus Adamchik <and...@objectstyle.org> > wrote: >> >>> @Andrus: We'll let you test LM first this time? >> >> Be happy to. >> >> >>> On Apr 14, 2020, at 7:48 PM, Michael Gentry <blackn...@gmail.com> wrote: >>> >>> @John & @Nikita: If easy to fix, let's go ahead and do it just to have a >>> better M1. >>> @Andrus: We'll let you test LM first this time? >>> >>> I guess that makes me more of a -0 now. I'm still not opposed to releasing >>> as-is, but a better M1 is still desirable. >>> >>> >>> On Tue, Apr 14, 2020 at 5:10 AM Nikita Timofeev <ntimof...@objectstyle.com> >>> wrote: >>> >>>> That's not a big effort to prepare a fresh release, it getting faster >>>> each time :). >>>> So I think I could do it one more time. >>>> >>>> As for the issue, the fix seems straightforward, so I'll just go for it. >>>> >>>> On Tue, Apr 14, 2020 at 4:30 AM John Huss <johnth...@gmail.com> wrote: >>>>> >>>>> I would be fine with fixing it up and remaking the release, but I don’t >>>>> know how much of a hassle that is. I can find time to fix AutoAdapter in >>>>> the next two days I think. >>>>> >>>>> On Mon, Apr 13, 2020 at 1:34 PM Andrus Adamchik <and...@objectstyle.org> >>>>> wrote: >>>>> >>>>>> Been thinking more about this... This breaks basic commit operations >>>> for >>>>>> both Derby and SQLServer, making it a major issue. We've never shipped >>>>>> releases with known bugs like this, even milestones. On the other hand >>>>>> there is a workaround - use an explicit adapter. >>>>>> >>>>>> I am voting -0, which means that I wouldn't release it like that, but I >>>>>> don't want to veto the release either. If the majority decides we >>>> should >>>>>> proceed, so be it. >>>>>> >>>>>> Andrus >>>>>> >>>>>> >>>>>>> On Apr 13, 2020, at 2:53 PM, Michael Gentry <blackn...@gmail.com> >>>> wrote: >>>>>>> >>>>>>> Hi Andrus, >>>>>>> >>>>>>> Given this is a milestone release, I think it is fine to release >>>> with the >>>>>>> AutoAdapter issue. These releases aren't required or expected to be >>>>>>> production-ready, although that would certainly be nice. They are >>>> for >>>>>>> finding issues needing to be addressed, and you have. :-) >>>>>>> >>>>>>> mrg >>>>>>> >>>>>>> >>>>>>> On Mon, Apr 13, 2020 at 5:24 AM Andrus Adamchik < >>>> and...@objectstyle.org> >>>>>>> wrote: >>>>>>> >>>>>>>> So looks like this will affect users of Derby and SQLServer who are >>>> also >>>>>>>> using the AutoAdapter (don't know if anyone still NOT using the >>>>>>>> AutoAdapter?). I suppose we can still release the M1, though it will >>>>>> not be >>>>>>>> usable for me unfortunately until this is fixed. >>>>>>>> >>>>>>>> Thoughts? >>>>>>>> >>>>>>>> Andrus >>>>>>>> >>>>>>>>> On Apr 13, 2020, at 11:40 AM, Nikita Timofeev < >>>>>> ntimof...@objectstyle.com> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi Andrus, >>>>>>>>> >>>>>>>>> Yes, LinkMove problems related to batch generated keys. The >>>> problem is >>>>>>>>> with AutoAdapter, it simply doesn't define >>>>>>>>> supportsGeneratedKeysForBatchInserts() method. >>>>>>>>> DerbyAdapter itself works fine. >>>>>>>>> >>>>>>>>> On Sun, Apr 12, 2020 at 11:47 AM Andrus Adamchik < >>>>>> and...@objectstyle.org> >>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Still testing the release... As expected 4.2 is no longer a >>>> drop-in >>>>>>>> replacement of 4.0 for either Agrest or LinkMove (because of the >>>>>> Property >>>>>>>> class refactoring). So I made a few tweaks to LM to make it compile >>>> [1]. >>>>>>>> Now I am getting the following error on commit in a bunch of tests >>>> (e.g. >>>>>>>> CreateIT) [2]. >>>>>>>>>> >>>>>>>>>> Is this related to 57332e865f5dabb9c7adef4bac9a61137f6828c4 (batch >>>>>> mode >>>>>>>> and PKs on Derby) ? >>>>>>>>>> >>>>>>>>>> (Derby version used in tests is 10.14.2.0 - the latest that >>>> supports >>>>>>>> Java 8) >>>>>>>>>> >>>>>>>>>> Andrus >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> On Apr 7, 2020, at 2:03 PM, Nikita Timofeev < >>>>>> ntimof...@objectstyle.com> >>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Hi all, >>>>>>>>>>> >>>>>>>>>>> Here is another try for the Cayenne 4.2.M1 release. >>>>>>>>>>> >>>>>>>>>>> Release notes: >>>>>>>> https://github.com/apache/cayenne/blob/4.2.M1/RELEASE-NOTES.txt >>>>>>>>>>> Maven repo: >>>>>>>> >>>>>> >>>> https://repository.apache.org/content/repositories/orgapachecayenne-1038/ >>>>>>>>>>> Assemblies: >>>> https://dist.apache.org/repos/dist/dev/cayenne/4.2.M1/ >>>>>>>>>>> >>>>>>>>>>> Please evaluate and cast your votes. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Best regards, >>>>>>>>>>> Nikita Timofeev >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [1] https://github.com/nhl/link-move/tree/cayenne-4.2 < >>>>>>>> https://github.com/nhl/link-move/tree/cayenne-4.2> >>>>>>>>>> >>>>>>>>>> [2] org.apache.cayenne.CayenneRuntimeException: [v.4.2.M1 Apr 07 >>>> 2020 >>>>>>>> 09:32:02] Mismatching number of generated PKs: expected 2, instead >>>> got 1 >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.flush.FlushObserver.nextGeneratedRows(FlushObserver.java:77) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataNodeQueryAction$1.nextGeneratedRows(DataNodeQueryAction.java:77) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.jdbc.BatchAction.processGeneratedKeys(BatchAction.java:288) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.jdbc.BatchAction.runAsBatch(BatchAction.java:133) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.java:94) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:97) >>>>>>>>>> at >>>>>> org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.lambda$executeQueries$6(DefaultDataDomainFlushAction.java:175) >>>>>>>>>> at java.util.HashMap.forEach(HashMap.java:1288) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.executeQueries(DefaultDataDomainFlushAction.java:174) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.flush(DefaultDataDomainFlushAction.java:89) >>>>>>>>>> at >>>>>> org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:637) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataDomain.onSyncNoFilters(DataDomain.java:609) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(DataDomain.java:835) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.TransactionFilter.lambda$onSync$0(TransactionFilter.java:61) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.DefaultTransactionManager$BaseTransactionHandler.performInTransaction(DefaultTransactionManager.java:180) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.DefaultTransactionManager$BaseTransactionHandler.performInNewTransaction(DefaultTransactionManager.java:152) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.DefaultTransactionManager$NestedTransactionHandler.handle(DefaultTransactionManager.java:95) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:62) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:40) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.tx.TransactionFilter.onSync(TransactionFilter.java:61) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(DataDomain.java:834) >>>>>>>>>> at >>>> org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:596) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:737) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:686) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> com.nhl.link.move.runtime.task.create.CreateSegmentProcessor.commitTarget(CreateSegmentProcessor.java:63) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> com.nhl.link.move.runtime.task.create.CreateSegmentProcessor.process(CreateSegmentProcessor.java:44) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> com.nhl.link.move.runtime.task.create.CreateTask.lambda$createBatchProcessor$1(CreateTask.java:72) >>>>>>>>>> at com.nhl.link.move.batch.BatchRunner.run(BatchRunner.java:57) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> com.nhl.link.move.runtime.task.create.CreateTask.doRun(CreateTask.java:62) >>>>>>>>>> at com.nhl.link.move.runtime.task.BaseTask.run(BaseTask.java:46) >>>>>>>>>> at com.nhl.link.move.LmTask.run(LmTask.java:31) >>>>>>>>>> at com.nhl.link.move.runtime.task.BaseTask.run(BaseTask.java:39) >>>>>>>>>> at com.nhl.link.move.LmTask.run(LmTask.java:19) >>>>>>>>>> at com.nhl.link.move.itest.CreateIT.testSync(CreateIT.java:24) >>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) >>>>>>>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) >>>>>>>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) >>>>>>>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) >>>>>>>>>> at >>>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) >>>>>>>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) >>>>>>>>>> at >>>> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) >>>>>>>>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309) >>>>>>>>>> at org.junit.runner.JUnitCore.run(JUnitCore.java:160) >>>>>>>>>> at >>>>>>>> >>>>>> >>>> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Best regards, >>>>>>>>> Nikita Timofeev >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Nikita Timofeev >>>> >> > > > -- > Best regards, > Nikita Timofeev