Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A88FA200D27 for ; Wed, 25 Oct 2017 18:41:09 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A6EAE160BDA; Wed, 25 Oct 2017 16:41:09 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id C4F551609CE for ; Wed, 25 Oct 2017 18:41:08 +0200 (CEST) Received: (qmail 19331 invoked by uid 500); 25 Oct 2017 16:41:07 -0000 Mailing-List: contact issues-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list issues@geode.apache.org Received: (qmail 19322 invoked by uid 99); 25 Oct 2017 16:41:07 -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; Wed, 25 Oct 2017 16:41:07 +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 2D71F1807EA for ; Wed, 25 Oct 2017 16:41:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id umCNKzoJ01v8 for ; Wed, 25 Oct 2017 16:41:05 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 73D255FB40 for ; Wed, 25 Oct 2017 16:41:04 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id A9291E0373 for ; Wed, 25 Oct 2017 16:41:03 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 681F7212F6 for ; Wed, 25 Oct 2017 16:41:03 +0000 (UTC) Date: Wed, 25 Oct 2017 16:41:03 +0000 (UTC) From: "ASF subversion and git services (JIRA)" To: issues@geode.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (GEODE-3897) Geode should not use pauseTransaction when the thread will start a new transaction to register pdx type MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 25 Oct 2017 16:41:09 -0000 [ https://issues.apache.org/jira/browse/GEODE-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16219025#comment-16219025 ] ASF subversion and git services commented on GEODE-3897: -------------------------------------------------------- Commit 648d1724a94f56acebde48834aeaf203a5e4f98e in geode's branch refs/heads/feature/GEODE-3903 from [~eshu] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=648d172 ] Feature/geode 3897 (#968) * GEODE-3897: Use internalSuspend before start a new transaction. * When registering pdx in a new transaction, product should internal suspend an existing transaction. * Add a unit test that fails without this fix. > Geode should not use pauseTransaction when the thread will start a new transaction to register pdx type > ------------------------------------------------------------------------------------------------------- > > Key: GEODE-3897 > URL: https://issues.apache.org/jira/browse/GEODE-3897 > Project: Geode > Issue Type: Bug > Components: transactions > Affects Versions: 1.4.0 > Reporter: Eric Shu > Assignee: Eric Shu > Fix For: 1.4.0 > > > This could occur when putting pdx into a partitioned region in a transaction. > Here is a failed stack with a newly added unit test. > {noformat} > [vm0] [info 2017/10/23 16:46:20.857 PDT tid=19] Got result: EXCEPTION_OCCURRED > [vm0] org.apache.geode.ToDataException: toData failed on PdxSerializable class org.apache.geode.pdx.SimpleClass > [vm0] at org.apache.geode.internal.InternalDataSerializer.writePdx(InternalDataSerializer.java:3007) > [vm0] at org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2077) > [vm0] at org.apache.geode.DataSerializer.writeObject(DataSerializer.java:2936) > [vm0] at org.apache.geode.internal.tcp.MsgStreamer.writeAsSerializedByteArray(MsgStreamer.java:926) > [vm0] at org.apache.geode.DataSerializer.writeObjectAsByteArray(DataSerializer.java:1302) > [vm0] at org.apache.geode.internal.cache.DistributedCacheOperation.writeValue(DistributedCacheOperation.java:125) > [vm0] at org.apache.geode.internal.cache.partitioned.PutMessage.toData(PutMessage.java:623) > [vm0] at org.apache.geode.internal.InternalDataSerializer.invokeToData(InternalDataSerializer.java:2299) > [vm0] at org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1406) > [vm0] at org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:232) > [vm0] at org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:377) > [vm0] at org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:237) > [vm0] at org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:603) > [vm0] at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.directChannelSend(GMSMembershipManager.java:1714) > [vm0] at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.send(GMSMembershipManager.java:1904) > [vm0] at org.apache.geode.distributed.internal.DistributionChannel.send(DistributionChannel.java:82) > [vm0] at org.apache.geode.distributed.internal.DistributionManager.sendOutgoing(DistributionManager.java:3464) > [vm0] at org.apache.geode.distributed.internal.DistributionManager.sendMessage(DistributionManager.java:3501) > [vm0] at org.apache.geode.distributed.internal.DistributionManager.putOutgoing(DistributionManager.java:1877) > [vm0] at org.apache.geode.internal.cache.partitioned.PutMessage.send(PutMessage.java:386) > [vm0] at org.apache.geode.internal.cache.PartitionedRegion.putRemotely(PartitionedRegion.java:3190) > [vm0] at org.apache.geode.internal.cache.tx.PartitionedTXRegionStub.putEntry(PartitionedTXRegionStub.java:367) > [vm0] at org.apache.geode.internal.cache.TXStateStub.putEntry(TXStateStub.java:525) > [vm0] at org.apache.geode.internal.cache.TXStateProxyImpl.putEntry(TXStateProxyImpl.java:577) > [vm0] at org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5030) > [vm0] at org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:1574) > [vm0] at org.apache.geode.internal.cache.LocalRegion.put(LocalRegion.java:1561) > [vm0] at org.apache.geode.internal.cache.AbstractRegion.put(AbstractRegion.java:325) > [vm0] at org.apache.geode.pdx.PdxSerializableDUnitTest.doSimplePut(PdxSerializableDUnitTest.java:433) > [vm0] at org.apache.geode.pdx.PdxSerializableDUnitTest.lambda$5(PdxSerializableDUnitTest.java:113) > [vm0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [vm0] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > [vm0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > [vm0] at java.lang.reflect.Method.invoke(Method.java:498) > [vm0] at hydra.MethExecutor.executeObject(MethExecutor.java:245) > [vm0] at org.apache.geode.test.dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:70) > [vm0] at sun.reflect.GeneratedMethodAccessor162.invoke(Unknown Source) > [vm0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > [vm0] at java.lang.reflect.Method.invoke(Method.java:498) > [vm0] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) > [vm0] at sun.rmi.transport.Transport$1.run(Transport.java:200) > [vm0] at sun.rmi.transport.Transport$1.run(Transport.java:197) > [vm0] at java.security.AccessController.doPrivileged(Native Method) > [vm0] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > [vm0] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) > [vm0] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) > [vm0] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) > [vm0] at java.security.AccessController.doPrivileged(Native Method) > [vm0] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) > [vm0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [vm0] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [vm0] at java.lang.Thread.run(Thread.java:748) > [vm0] Caused by: java.lang.IllegalStateException: Current thread has paused its transaction so it can not start a new transaction > [vm0] at org.apache.geode.internal.cache.TXManagerImpl.begin(TXManagerImpl.java:322) > [vm0] at org.apache.geode.pdx.internal.PeerTypeRegistration.updateRegion(PeerTypeRegistration.java:422) > [vm0] at org.apache.geode.pdx.internal.PeerTypeRegistration.updateIdToEnumRegion(PeerTypeRegistration.java:403) > [vm0] at org.apache.geode.pdx.internal.PeerTypeRegistration.getEnumId(PeerTypeRegistration.java:647) > [vm0] at org.apache.geode.pdx.internal.TypeRegistry.getEnumId(TypeRegistry.java:367) > [vm0] at org.apache.geode.internal.InternalDataSerializer.writePdxEnum(InternalDataSerializer.java:2139) > [vm0] at org.apache.geode.internal.InternalDataSerializer.writeUserObject(InternalDataSerializer.java:1529) > [vm0] at org.apache.geode.internal.InternalDataSerializer.writeWellKnownObject(InternalDataSerializer.java:1437) > [vm0] at org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2102) > [vm0] at org.apache.geode.pdx.internal.PdxOutputStream.writeObject(PdxOutputStream.java:82) > [vm0] at org.apache.geode.pdx.internal.PdxWriterImpl.writeObject(PdxWriterImpl.java:329) > [vm0] at org.apache.geode.pdx.internal.PdxWriterImpl.writeObject(PdxWriterImpl.java:319) > [vm0] at org.apache.geode.pdx.SimpleClass.toData(SimpleClass.java:44) > [vm0] at org.apache.geode.internal.InternalDataSerializer.writePdx(InternalDataSerializer.java:2977) > [vm0] ... 51 more > [vm0] from org.apache.geode.pdx.PdxSerializableDUnitTest$$Lambda$56/169225437.run with 0 args on object: org.apache.geode.pdx.PdxSerializableDUnitTest$$Lambda$56/169225437@10407b36 (took 83 ms) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)