Re: [VOTE] Apache Cayenne 4.2.M1 release

Andrus Adamchik <[email protected]>
Newsgroups gmane.comp.java.cayenne.devel
Message-ID <[email protected]>
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 <[email protected]> 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 <[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.