From dev-return-11177-archive-asf-public=cust-asf.ponee.io@cayenne.apache.org Tue Apr 14 01:30:03 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 D4DA618062C for ; Tue, 14 Apr 2020 03:30:02 +0200 (CEST) Received: (qmail 37664 invoked by uid 500); 14 Apr 2020 01:30:02 -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 37650 invoked by uid 99); 14 Apr 2020 01:30:01 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Apr 2020 01:30:01 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 3CFFB1813F7 for ; Tue, 14 Apr 2020 01:30:01 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.001 X-Spam-Level: X-Spam-Status: No, score=0.001 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id D1U9-AssOB94 for ; Tue, 14 Apr 2020 01:29:59 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::143; helo=mail-lf1-x143.google.com; envelope-from=johnthuss@gmail.com; receiver= Received: from mail-lf1-x143.google.com (mail-lf1-x143.google.com [IPv6:2a00:1450:4864:20::143]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id C36FC7F51D for ; Tue, 14 Apr 2020 01:29:58 +0000 (UTC) Received: by mail-lf1-x143.google.com with SMTP id j14so2708014lfg.9 for ; Mon, 13 Apr 2020 18:29:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=naVSwRO1eTb2rGLqB8OYn+/26T+VO055ruMP8jqn1Hw=; b=OwkH18ogIISkg9jbVyXk2ZQe8gn/BE2ia2zAQsgCs5A4S47PGlUQnFE/3LGrke2M4I +qle0Mee0rfwXas+SsF6gnnLgAsSPBD7niUdf8ZnuVjbvmcuiM3/FrnGKuC047TsWzsD n3IIc+ePdujAqbEtauJe85j4lEGMAWNk38EZgx3l42kHxRQZbxTMwY4zQUWroyBGtnz6 UH+ADMV00KMzNW/AReIVG8oLqyq+ekw+JjQZ2WXEThZMDaPEilMZZXDLf4H78sLnZnFQ HFjyqBIDpvZlHvO4UEmbOQFDdSeynQ70iqSKOOipwH3bU5OJmewmdNFTjo7mWGj2MPoK ieYg== 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; bh=naVSwRO1eTb2rGLqB8OYn+/26T+VO055ruMP8jqn1Hw=; b=lq3olDpuImKANthWN7Q46ND2BktQQEduRtIns88752nRLL0OeAZF+Wvj9T/V0vIo/A G6U9dfceEIPpOYHkzJEmv1WUFc8FEe9WbquRw1rVqUitlNyzIg8NQ1y7txI+rpWCm4Pb cstqVyNQDt5HNh6kjkmZesTn+GWROYnPVKSdHJMMsKyqxrZEss0GwyKESBY+rAyveOlM JulauQyXf86JqgKVDA6gwFG/S/0la1+Nq6KRL3zAdF+6gBF1M6hcUE/+i76N/gDUDs4Z sKcPc3F2UVP6JDFcGACtKT1auIYdNeQ/24pm7vj4a/nTYDMZhXeMXsbONstAdr50HHHm ckyw== X-Gm-Message-State: AGi0PubnPKo/IIr4mntS33Pn9Pee8fjsYKnadG9DcE1EEFZpMELbkVtl Oe8rQvZYUZnfu68VDzhlCNT29A8xXTSDzFonUFcr5g== X-Google-Smtp-Source: APiQypLHCVaXiqweSOm1kYa3fjNM57KgBx/oIQW8uwtlq2hFl5FddaDnp/O/+dFVoEPiatdDJikhiIHBi0OFPGp/LvU= X-Received: by 2002:ac2:483a:: with SMTP id 26mr11900429lft.5.1586827797618; Mon, 13 Apr 2020 18:29:57 -0700 (PDT) MIME-Version: 1.0 References: <903301F4-7BFB-4E5E-96A4-FECC5FE5540B@objectstyle.org> <552D132F-E975-4C89-BC50-574378142B64@objectstyle.org> In-Reply-To: <552D132F-E975-4C89-BC50-574378142B64@objectstyle.org> From: John Huss Date: Mon, 13 Apr 2020 20:29:46 -0500 Message-ID: Subject: Re: [VOTE] Apache Cayenne 4.2.M1 release To: dev@cayenne.apache.org Content-Type: multipart/alternative; boundary="00000000000032628005a3362346" --00000000000032628005a3362346 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 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 wrote= : > > > > Hi Andrus, > > > > Given this is a milestone release, I think it is fine to release with t= he > > 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 > > wrote: > > > >> So looks like this will affect users of Derby and SQLServer who are al= so > >> 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 i= s > >>> 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 20= 20 > >> 09:32:02] Mismatching number of generated PKs: expected 2, instead got= 1 > >>>> at > >> > org.apache.cayenne.access.flush.FlushObserver.nextGeneratedRows(FlushObse= rver.java:77) > >>>> at > >> > org.apache.cayenne.access.DataNodeQueryAction$1.nextGeneratedRows(DataNod= eQueryAction.java:77) > >>>> at > >> > org.apache.cayenne.access.jdbc.BatchAction.processGeneratedKeys(BatchActi= on.java:288) > >>>> at > >> > org.apache.cayenne.access.jdbc.BatchAction.runAsBatch(BatchAction.java:13= 3) > >>>> at > >> > org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.java= :94) > >>>> at > >> > org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryActio= n.java:97) > >>>> at > org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273) > >>>> at > >> > org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.lambda$execu= teQueries$6(DefaultDataDomainFlushAction.java:175) > >>>> at java.util.HashMap.forEach(HashMap.java:1288) > >>>> at > >> > org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.executeQueri= es(DefaultDataDomainFlushAction.java:174) > >>>> at > >> > org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.flush(Defaul= tDataDomainFlushAction.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(Dat= aDomain.java:835) > >>>> at > >> > org.apache.cayenne.tx.TransactionFilter.lambda$onSync$0(TransactionFilter= .java:61) > >>>> at > >> > org.apache.cayenne.tx.DefaultTransactionManager$BaseTransactionHandler.pe= rformInTransaction(DefaultTransactionManager.java:180) > >>>> at > >> > org.apache.cayenne.tx.DefaultTransactionManager$BaseTransactionHandler.pe= rformInNewTransaction(DefaultTransactionManager.java:152) > >>>> at > >> > org.apache.cayenne.tx.DefaultTransactionManager$NestedTransactionHandler.= handle(DefaultTransactionManager.java:95) > >>>> at > >> > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(Defa= ultTransactionManager.java:62) > >>>> at > >> > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(Defa= ultTransactionManager.java:40) > >>>> at > >> > org.apache.cayenne.tx.TransactionFilter.onSync(TransactionFilter.java:61) > >>>> at > >> > org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(Dat= aDomain.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(Crea= teSegmentProcessor.java:44) > >>>> at > >> > com.nhl.link.move.runtime.task.create.CreateTask.lambda$createBatchProces= sor$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(DelegatingMethodAccessorI= mpl.java:43) > >>>> at java.lang.reflect.Method.invoke(Method.java:498) > >>>> at > >> > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMeth= od.java:47) > >>>> at > >> > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallabl= e.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:2= 7) > >>>> 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:2= 7) > >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > >>>> at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > >>>> at > >> > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTe= stRunner.java:68) > >>>> > >>> > >>> > >>> -- > >>> Best regards, > >>> Nikita Timofeev > >> > >> > > --00000000000032628005a3362346--