From dev-return-11181-archive-asf-public=cust-asf.ponee.io@cayenne.apache.org Wed Apr 15 12:43:19 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id A813B18065C for ; Wed, 15 Apr 2020 14:43:18 +0200 (CEST) Received: (qmail 90288 invoked by uid 500); 15 Apr 2020 12:43:17 -0000 Mailing-List: contact dev-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list dev@cayenne.apache.org Received: (qmail 90269 invoked by uid 99); 15 Apr 2020 12:43:17 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Apr 2020 12:43:17 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id CB9391A34A4 for ; Wed, 15 Apr 2020 12:43:16 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.164 X-Spam-Level: X-Spam-Status: No, score=-0.164 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.818, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.652, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=objectstyle-com.20150623.gappssmtp.com Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 8VwVIIJ4HB1E for ; Wed, 15 Apr 2020 12:43:14 +0000 (UTC) Received-SPF: Neutral (mailfrom) identity=mailfrom; client-ip=209.85.166.66; helo=mail-io1-f66.google.com; envelope-from=ntimofeev@objectstyle.com; receiver= Received: from mail-io1-f66.google.com (mail-io1-f66.google.com [209.85.166.66]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTPS id B231CBB94B for ; Wed, 15 Apr 2020 12:43:14 +0000 (UTC) Received: by mail-io1-f66.google.com with SMTP id i19so16878532ioh.12 for ; Wed, 15 Apr 2020 05:43:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=objectstyle-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=sOxuFi3BJlnn8+KESgdpT3qCGNHZPTQAR+S+7BFxQE0=; b=qQP1W7AKT2oubMK26lnufiERGbZ1krpK61NOzqtXzh89f+xc51fDMgXh6Jw2kIBGD6 vDkqynDK1vg9ulUnjk3Kb2NTY1B6QannNzx8iiyMpyys8GMjAWB2TtIBGLOvRAfhn+3i 3D+gfyJX3b5B+JlBWx1h+bf/W67y9P/cyOJJsJEWN3KYJFm8MamJ9OC9kCLGVy8rMsGb lwbFvqj4kua1l5eWulS+IWGKAmzij0EGtTI7DWDIVp5+lmJS9B/4BPu3Ij+bDEl345RR jStiT6QYCZCMa6hnUEifTqyVcuM2NU/VcF9iu59gVPKlCUXC7QeTYBEQQnEs+CkIqYEM QwaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=sOxuFi3BJlnn8+KESgdpT3qCGNHZPTQAR+S+7BFxQE0=; b=iskDVjgyGyTtxTOsS+SaLpPW8raEKP6AfvixDOPo+0qCITduLAJQ6UuULqx/shHsUn BCMxsxcYbU9EXVNlsMmNzD/SStO1joqY0EXMiB4jzNfvX4odp8+U+tTGIA8E9+O4tVjn UvgT77HaubgQ5qAzlQehv2wUccQA+9tUuHGwwm85gGPEZk+NtVN48d3WPW3T0q3FLSnG bqokUOAjoVq/XHvd1rnSj80lY39RCj85QXoH7e8aWyJUkylsgB54jogv9LUfrhtsvmUu 6SpGFEj2Kjr1odbWEkxeP5EP+bwI8XgfunYhy9cZtqan2HHfZ/n4nFRGKTIg3zLy0/53 wO4A== X-Gm-Message-State: AGi0Pub5L/K7Yz0UZZuguGcNmqAlgYouoaB+ibe7h68GKw9gD3ECQx5Z RJj4/RGjhLTkzPAbdktn6va5qjyJnbWEtPLFg3a74JA+QoE= X-Google-Smtp-Source: APiQypLB55CJh3Ye4M7Kz/sF2R+wBDqUwnuJU/PHsGkwdegftnf8Kca3qPM9ZmH6FWGmBUMGVasOKGeVgVcT+RrBZAc= X-Received: by 2002:a02:455:: with SMTP id 82mr25447299jab.112.1586954592060; Wed, 15 Apr 2020 05:43:12 -0700 (PDT) MIME-Version: 1.0 References: <903301F4-7BFB-4E5E-96A4-FECC5FE5540B@objectstyle.org> <552D132F-E975-4C89-BC50-574378142B64@objectstyle.org> <404E37A6-F398-4ECD-B32D-F2312F011D0D@objectstyle.org> In-Reply-To: <404E37A6-F398-4ECD-B32D-F2312F011D0D@objectstyle.org> From: Nikita Timofeev Date: Wed, 15 Apr 2020 15:42:44 +0300 Message-ID: Subject: Re: [VOTE] Apache Cayenne 4.2.M1 release To: dev@cayenne.apache.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 wr= ote: > > > @Andrus: We'll let you test LM first this time? > > Be happy to. > > > > On Apr 14, 2020, at 7:48 PM, Michael Gentry 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 relea= sing > > as-is, but a better M1 is still desirable. > > > > > > On Tue, Apr 14, 2020 at 5:10 AM Nikita Timofeev > > 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 i= t. > >> > >> On Tue, Apr 14, 2020 at 4:30 AM John Huss wrote: > >>> > >>> I would be fine with fixing it up and remaking the release, but I don= =E2=80=99t > >>> 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 > >>> wrote: > >>> > >>>> Been thinking more about this... This breaks basic commit operations > >> for > >>>> both Derby and SQLServer, making it a major issue. We've never shipp= ed > >>>> releases with known bugs like this, even milestones. On the other ha= nd > >>>> there is a workaround - use an explicit adapter. > >>>> > >>>> I am voting -0, which means that I wouldn't release it like that, bu= t 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 > >> 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 b= e > >>>>> 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 ar= e > >> also > >>>>>> using the AutoAdapter (don't know if anyone still NOT using the > >>>>>> AutoAdapter?). I suppose we can still release the M1, though it wi= ll > >>>> 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 compil= e > >> [1]. > >>>>>> Now I am getting the following error on commit in a bunch of tests > >> (e.g. > >>>>>> CreateIT) [2]. > >>>>>>>> > >>>>>>>> Is this related to 57332e865f5dabb9c7adef4bac9a61137f6828c4 (bat= ch > >>>> 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-10= 38/ > >>>>>>>>> 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 0= 7 > >> 2020 > >>>>>> 09:32:02] Mismatching number of generated PKs: expected 2, instead > >> got 1 > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.flush.FlushObserver.nextGeneratedRows(FlushO= bserver.java:77) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.DataNodeQueryAction$1.nextGeneratedRows(Data= NodeQueryAction.java:77) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.jdbc.BatchAction.processGeneratedKeys(BatchA= ction.java:288) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.jdbc.BatchAction.runAsBatch(BatchAction.java= :133) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.j= ava:94) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAc= tion.java:97) > >>>>>>>> at > >>>> org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.lambda$ex= ecuteQueries$6(DefaultDataDomainFlushAction.java:175) > >>>>>>>> at java.util.HashMap.forEach(HashMap.java:1288) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.executeQu= eries(DefaultDataDomainFlushAction.java:174) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.flush(Def= aultDataDomainFlushAction.java:89) > >>>>>>>> at > >>>> org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:637= ) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.DataDomain.onSyncNoFilters(DataDomain.java:6= 09) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(= DataDomain.java:835) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.tx.TransactionFilter.lambda$onSync$0(TransactionFil= ter.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$NestedTransactionHandl= er.handle(DefaultTransactionManager.java:95) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(D= efaultTransactionManager.java:62) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(D= efaultTransactionManager.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:7= 37) > >>>>>>>> at > >>>>>> > >>>> > >> org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:6= 86) > >>>>>>>> at > >>>>>> > >>>> > >> com.nhl.link.move.runtime.task.create.CreateSegmentProcessor.commitTar= get(CreateSegmentProcessor.java:63) > >>>>>>>> at > >>>>>> > >>>> > >> com.nhl.link.move.runtime.task.create.CreateSegmentProcessor.process(C= reateSegmentProcessor.java:44) > >>>>>>>> at > >>>>>> > >>>> > >> com.nhl.link.move.runtime.task.create.CreateTask.lambda$createBatchPro= cessor$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.j= ava:62) > >>>>>>>> at > >>>>>> > >>>> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess= orImpl.java:43) > >>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkM= ethod.java:47) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCall= able.java:12) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMet= hod.java:44) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMeth= od.java:17) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.j= ava:26) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.jav= a:27) > >>>>>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunn= er.java:70) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunn= er.java:50) > >>>>>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > >>>>>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:6= 3) > >>>>>>>> at > >> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > >>>>>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:5= 3) > >>>>>>>> at > >> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.j= ava:26) > >>>>>>>> at > >>>>>> > >>>> > >> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.jav= a: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(JUnit4Ide= aTestRunner.java:68) > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> -- > >>>>>>> Best regards, > >>>>>>> Nikita Timofeev > >>>>>> > >>>>>> > >>>> > >>>> > >> > >> > >> > >> -- > >> Best regards, > >> Nikita Timofeev > >> > --=20 Best regards, Nikita Timofeev