Re: [VOTE] Apache Cayenne 4.2.M1 release

Michael Gentry <[email protected]>
Newsgroups gmane.comp.java.cayenne.devel
Message-ID <CAOy5kzOPo=M0V1vK1Br8zVZvYrqOxe521t43vUOhKqSgR-9yeg@mail.gmail.com>
@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 <[email protected]>
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 <[email protected]> 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 <[email protected]>
> > 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 <[email protected]>
> 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 <
> [email protected]>
> > > > 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 <
> > > [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
> > > >>
> > > >>
> > >
> > >
>
>
>
> --
> 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.