cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: [VOTE] Apache Cayenne 4.2.M1 release
Date Wed, 15 Apr 2020 12:58:40 GMT
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 <ntimofeev@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 <andrus@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 <blacknext@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 <ntimofeev@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 <johnthuss@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 <andrus@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 <blacknext@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 <
>>>> andrus@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 <
>>>>>> ntimofeev@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 <
>>>>>> andrus@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 <
>>>>>> ntimofeev@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


Mime
View raw message