From dev-return-11176-archive-asf-public=cust-asf.ponee.io@cayenne.apache.org Mon Apr 13 18:34:14 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 8E64018062C for ; Mon, 13 Apr 2020 20:34:14 +0200 (CEST) Received: (qmail 33741 invoked by uid 500); 13 Apr 2020 18:34:14 -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 33728 invoked by uid 99); 13 Apr 2020 18:34:13 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Apr 2020 18:34:13 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 893D9C2122 for ; Mon, 13 Apr 2020 18:34:12 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.901 X-Spam-Level: X-Spam-Status: No, score=-0.901 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=objectstyle.org header.b=hiHs1iXx; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=bWMNs74Y Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id EzvR0bbNHDea for ; Mon, 13 Apr 2020 18:34:08 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=66.111.4.29; helo=out5-smtp.messagingengine.com; envelope-from=andrus@objectstyle.org; receiver= Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id B648B7F51D for ; Mon, 13 Apr 2020 18:34:07 +0000 (UTC) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 1FFD95C02AC for ; Mon, 13 Apr 2020 14:34:00 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 13 Apr 2020 14:34:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=objectstyle.org; h=from:content-type:content-transfer-encoding:mime-version :subject:date:references:to:in-reply-to:message-id; s=mesmtp; bh=3LfwH0m2ZpLuiMRXxRSBwoxc/u1mgxWnppRLvdgkRyk=; b=hiHs1iXxObFi N0bHGi1yUnOCZZuyeJzWoe+dtiuWu8embm5+vc4IpuWW1KUDOhF714CKgssGHITn LfHkwVJ9QqYSBF4ScfbsjvqxM2iVHyerz2TuUE13vDvUQhzV/520fq3cIIM5MaOW ZOR7beGT+HFUIxWKDWGFdUhafmSAVng= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=3LfwH0m2ZpLuiMRXxRSBwoxc/u1mgxWnppRLvdgkR yk=; b=bWMNs74YcAuvvcMYyLRglwvZujGTDZYuIEFe3FXhnR081uWcYgtpMdS/1 q3SY4I9ISf8Jkejmjb+U+Q4lBpnqkU8gFoqlAjC84ubtxXC4oOMguYF/44i94iqv iEExfQBBIH+40uevFKtIEhkb5L+30ZApNgtMZntJlbS3gA3mvkdEegdAkzNnP7rT VqInu44AjpanheEYl3+Vo36ihimdRtvc9mWdT+t/iq+cg53g7Vb5PXYWH8jiSQJh mSgkzp/JpYYkt3oxJjsuODG9JCjPPeUSnbMEhCSBiUEsJXsrsK/DRLDLIFywNthR BmxLb59eFcQu9djQ02VhN3PJKGiKQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrvdelgdduvdelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhtgfgggfuffhfvfgjkffosehtqh hmtdhhtddvnecuhfhrohhmpeetnhgurhhushcutegurghmtghhihhkuceorghnughruhhs sehosghjvggtthhsthihlhgvrdhorhhgqeenucffohhmrghinhepghhithhhuhgsrdgtoh hmpdgrphgrtghhvgdrohhrghdpnhhhlhdrlhhinhhkpdgsrghttghhrhhunhhnvghrrdhr uhhnpdgsrghsvghtrghskhdrrhhunhdplhhmthgrshhkrdhruhhnpdhrvghflhgvtghtih hvvggtrghllhgrsghlvgdrrhhunhdpphgrrhgvnhhtrhhunhhnvghrrdhruhhnpdhjuhhn ihhttghorhgvrdhruhhnnecukfhppeefuddrvdegrdeluddrvddukeenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrnhgurhhushesohgsjhgv tghtshhthihlvgdrohhrgh X-ME-Proxy: Received: from [192.168.2.101] (unknown [31.24.91.218]) by mail.messagingengine.com (Postfix) with ESMTPA id 302FA3280069 for ; Mon, 13 Apr 2020 14:33:59 -0400 (EDT) From: Andrus Adamchik Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: [VOTE] Apache Cayenne 4.2.M1 release Date: Mon, 13 Apr 2020 21:33:57 +0300 References: <903301F4-7BFB-4E5E-96A4-FECC5FE5540B@objectstyle.org> To: dev@cayenne.apache.org In-Reply-To: Message-Id: <552D132F-E975-4C89-BC50-574378142B64@objectstyle.org> X-Mailer: Apple Mail (2.3608.80.23.2.2) 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: >=20 > Hi Andrus, >=20 > 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. :-) >=20 > mrg >=20 >=20 > On Mon, Apr 13, 2020 at 5:24 AM Andrus Adamchik = > wrote: >=20 >> 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. >>=20 >> Thoughts? >>=20 >> Andrus >>=20 >>> On Apr 13, 2020, at 11:40 AM, Nikita Timofeev = >> wrote: >>>=20 >>> Hi Andrus, >>>=20 >>> Yes, LinkMove problems related to batch generated keys. The problem = is >>> with AutoAdapter, it simply doesn't define >>> supportsGeneratedKeysForBatchInserts() method. >>> DerbyAdapter itself works fine. >>>=20 >>> On Sun, Apr 12, 2020 at 11:47 AM Andrus Adamchik = >> wrote: >>>>=20 >>>> 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]. >>>>=20 >>>> Is this related to 57332e865f5dabb9c7adef4bac9a61137f6828c4 (batch = mode >> and PKs on Derby) ? >>>>=20 >>>> (Derby version used in tests is 10.14.2.0 - the latest that = supports >> Java 8) >>>>=20 >>>> Andrus >>>>=20 >>>>=20 >>>>> On Apr 7, 2020, at 2:03 PM, Nikita Timofeev = >> wrote: >>>>>=20 >>>>> Hi all, >>>>>=20 >>>>> Here is another try for the Cayenne 4.2.M1 release. >>>>>=20 >>>>> 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/ >>>>>=20 >>>>> Please evaluate and cast your votes. >>>>>=20 >>>>> -- >>>>> Best regards, >>>>> Nikita Timofeev >>>>=20 >>>>=20 >>>> [1] https://github.com/nhl/link-move/tree/cayenne-4.2 < >> https://github.com/nhl/link-move/tree/cayenne-4.2> >>>>=20 >>>> [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(FlushObser= ver.java:77) >>>> at >> = org.apache.cayenne.access.DataNodeQueryAction$1.nextGeneratedRows(DataNode= QueryAction.java:77) >>>> at >> = org.apache.cayenne.access.jdbc.BatchAction.processGeneratedKeys(BatchActio= n.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$execut= eQueries$6(DefaultDataDomainFlushAction.java:175) >>>> at java.util.HashMap.forEach(HashMap.java:1288) >>>> at >> = org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.executeQuerie= s(DefaultDataDomainFlushAction.java:174) >>>> at >> = org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.flush(Default= DataDomainFlushAction.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(Data= Domain.java:835) >>>> at >> = org.apache.cayenne.tx.TransactionFilter.lambda$onSync$0(TransactionFilter.= java:61) >>>> at >> = org.apache.cayenne.tx.DefaultTransactionManager$BaseTransactionHandler.per= formInTransaction(DefaultTransactionManager.java:180) >>>> at >> = org.apache.cayenne.tx.DefaultTransactionManager$BaseTransactionHandler.per= formInNewTransaction(DefaultTransactionManager.java:152) >>>> at >> = org.apache.cayenne.tx.DefaultTransactionManager$NestedTransactionHandler.h= andle(DefaultTransactionManager.java:95) >>>> at >> = org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(Defau= ltTransactionManager.java:62) >>>> at >> = org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(Defau= ltTransactionManager.java:40) >>>> at >> = org.apache.cayenne.tx.TransactionFilter.onSync(TransactionFilter.java:61) >>>> at >> = org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(Data= Domain.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(Creat= eSegmentProcessor.java:44) >>>> at >> = com.nhl.link.move.runtime.task.create.CreateTask.lambda$createBatchProcess= or$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(DelegatingMethodAccessorIm= pl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>> at >> = org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMetho= d.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.j= ava: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.j= ava:70) >>>> at >> = org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.j= ava: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(JUnit4IdeaTes= tRunner.java:68) >>>>=20 >>>=20 >>>=20 >>> -- >>> Best regards, >>> Nikita Timofeev >>=20 >>=20