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 Tue, 14 Apr 2020 16:57:18 GMT
> @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
>> 


Mime
View raw message