Re: [VOTE] Apache Cayenne 4.2.M1 release

Nikita Timofeev <[email protected]>
Newsgroups gmane.comp.java.cayenne.devel
Message-ID <CAMi+qzD1-F47Hp3L9tPMyVo+847EUx-j1pQ2dKtk1L0gFTMzMQ@mail.gmail.com>
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 <[email protected]> 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 <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.