You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Eric Shu (JIRA)" <ji...@apache.org> on 2018/02/23 18:30:04 UTC

[jira] [Created] (GEODE-4738) EventSeqNum and versionVector in a region are accessed when they are not yet initialized

Eric Shu created GEODE-4738:
-------------------------------

             Summary: EventSeqNum and versionVector in a region are accessed when they are not yet initialized
                 Key: GEODE-4738
                 URL: https://issues.apache.org/jira/browse/GEODE-4738
             Project: Geode
          Issue Type: Bug
          Components: regions
            Reporter: Eric Shu


It is possible that eventSeqNum and versionVector are accessed when they are  not initialized yet. This could cause transaction to fail on the node just start up.

{noformat}
Got unexpected exception org.apache.geode.cache.CommitIncompleteException: Incomplete commit of transaction TXId: rs-FullRegression-2018-02-10-05-01-42-client-1(bridgegemfire6_rs-FullRegression-2018-02-10-05-01-42-client-1_19376:19376)<ec><v33>:1030:4865.  Caused by the following exceptions:  From member: rs-FullRegression-2018-02-10-05-01-42-client-1(bridgegemfire4_rs-FullRegression-2018-02-10-05-01-42-client-1_15810:15810)<ec><v25>:1026 java.lang.NullPointerException
	at org.apache.geode.internal.concurrent.Atomics.setIfGreater(Atomics.java:56)
	at org.apache.geode.internal.cache.BucketRegion.handleWANEvent(BucketRegion.java:576)
	at org.apache.geode.internal.cache.AbstractRegionMap.txHandleWANEvent(AbstractRegionMap.java:2938)
	at org.apache.geode.internal.cache.AbstractRegionMap.txApplyPut(AbstractRegionMap.java:2647)
	at org.apache.geode.internal.cache.LocalRegion.txApplyPut(LocalRegion.java:5068)
	at org.apache.geode.internal.cache.TXCommitMessage$RegionCommit.txApplyEntryOp(TXCommitMessage.java:1287)
	at org.apache.geode.internal.cache.TXCommitMessage$RegionCommit$FarSideEntryOp.process(TXCommitMessage.java:1597)
	at org.apache.geode.internal.cache.TXCommitMessage.basicProcessOps(TXCommitMessage.java:711)
	at org.apache.geode.internal.cache.TXCommitMessage.basicProcess(TXCommitMessage.java:638)
	at org.apache.geode.internal.cache.TXCommitMessage$CommitProcessMessage.basicProcess(TXCommitMessage.java:1784)
	at org.apache.geode.internal.cache.TXCommitMessage$CommitProcessForTXIdMessage.process(TXCommitMessage.java:1747)
	at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
	at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1117)
	at org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:108)
	at org.apache.geode.distributed.internal.ClusterDistributionManager$4$1.run(ClusterDistributionManager.java:788)
	at java.lang.Thread.run(Thread.java:748).
	at org.apache.geode.internal.cache.TXCommitMessage$CommitExceptionCollectingException.handlePotentialCommitFailure(TXCommitMessage.java:2203)
	at org.apache.geode.internal.cache.TXCommitMessage$CommitReplyProcessor.waitForCommitCompletion(TXCommitMessage.java:2104)
	at org.apache.geode.internal.cache.TXCommitMessage.send(TXCommitMessage.java:418)
	at org.apache.geode.internal.cache.TXState.commit(TXState.java:473)
	at org.apache.geode.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:228)
	at org.apache.geode.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:405)
	at org.apache.geode.internal.cache.TXRemoteCommitMessage.operateOnTx(TXRemoteCommitMessage.java:98)
	at org.apache.geode.internal.cache.TXMessage.process(TXMessage.java:94)
	at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
	at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1117)
	at org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:108)
	at org.apache.geode.distributed.internal.ClusterDistributionManager$6$1.run(ClusterDistributionManager.java:862)
	at java.lang.Thread.run(Thread.java:748)
{noformat}

And 
{noformat}
Got unexpected exception org.apache.geode.cache.CommitIncompleteException: Incomplete commit of transaction TXId: r02-s02(edgegemfire2_r02-s02_10305:10305:loner):36970:e226a1a8:edgegemfire2_r02-s02_10305:11669.  Caused by the following exceptions:  From member: r02-s02(bridgegemfire4_r02-s02_11665:11665)<ec><v11>:1025 java.lang.NullPointerException
        at org.apache.geode.internal.cache.entries.AbstractRegionEntry.applyVersionTag(AbstractRegionEntry.java:1866) 
        at org.apache.geode.internal.cache.entries.AbstractRegionEntry.basicProcessVersionTag(AbstractRegionEntry.java:1855)
        at org.apache.geode.internal.cache.entries.AbstractRegionEntry.processVersionTag(AbstractRegionEntry.java:1795)
        at org.apache.geode.internal.cache.entries.AbstractRegionEntry.processVersionTag(AbstractRegionEntry.java:1692)
        at org.apache.geode.internal.cache.entries.VersionedThinRegionEntryOffHeapStringKey2.processVersionTag(VersionedThinRegionEntryOffHeapStringKey2.java:298)
        at org.apache.geode.internal.cache.AbstractRegionMap.processVersionTag(AbstractRegionMap.java:570)
        at org.apache.geode.internal.cache.AbstractRegionMap.processAndGenerateTXVersionTag(AbstractRegionMap.java:2960)
        at org.apache.geode.internal.cache.AbstractRegionMap.txApplyPut(AbstractRegionMap.java:2873)
        at org.apache.geode.internal.cache.LocalRegion.txApplyPut(LocalRegion.java:5079)
        at org.apache.geode.internal.cache.TXCommitMessage$RegionCommit.txApplyEntryOp(TXCommitMessage.java:1287)
        at org.apache.geode.internal.cache.TXCommitMessage$RegionCommit$FarSideEntryOp.process(TXCommitMessage.java:1597)
        at org.apache.geode.internal.cache.TXCommitMessage.basicProcessOps(TXCommitMessage.java:711)
        at org.apache.geode.internal.cache.TXCommitMessage.basicProcess(TXCommitMessage.java:638)
        at org.apache.geode.internal.cache.TXCommitMessage$CommitProcessMessage.basicProcess(TXCommitMessage.java:1784)
        at org.apache.geode.internal.cache.TXCommitMessage$CommitProcessForTXIdMessage.process(TXCommitMessage.java:1747)
        at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
        at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1118)
        at org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:109)
        at org.apache.geode.distributed.internal.ClusterDistributionManager$4$1.run(ClusterDistributionManager.java:789)
        at java.lang.Thread.run(Thread.java:745).
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXCommitMessage$CommitExceptionCollectingException.handlePotentialCommitFailure(TXCommitMessage.java:2208)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXCommitMessage$CommitReplyProcessor.waitForCommitCompletion(TXCommitMessage.java:2109)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXCommitMessage.send(TXCommitMessage.java:418)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXState.commit(TXState.java:473)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:228)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:405)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXRemoteCommitMessage.operateOnTx(TXRemoteCommitMessage.java:98)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.internal.cache.TXMessage.process(TXMessage.java:94)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1118)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:109)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in org.apache.geode.distributed.internal.ClusterDistributionManager$6$1.run(ClusterDistributionManager.java:863)
        at Remote Member 'r02-s02(bridgegemfire5_r02-s02_8278:8278)<ec><v3>:1026' in java.lang.Thread.run(Thread.java:745)
        at org.apache.geode.distributed.internal.ReplyException.handleCause(ReplyException.java:87)
        at org.apache.geode.internal.cache.tx.RemoteOperationMessage$RemoteOperationResponse.waitForRemoteResponse(RemoteOperationMessage.java:555)
        at org.apache.geode.internal.cache.TXRemoteCommitMessage$RemoteCommitResponse.waitForResponse(TXRemoteCommitMessage.java:273)
        at org.apache.geode.internal.cache.PeerTXStateStub.commit(PeerTXStateStub.java:106)
        at org.apache.geode.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:228)
        at org.apache.geode.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:405)
        at org.apache.geode.internal.cache.tier.sockets.command.CommitCommand.cmdExecute(CommitCommand.java:85)
        at org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:157)
        at org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:797)
        at org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:85)
        at org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1177)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$4$1.run(AcceptorImpl.java:639)
        at java.lang.Thread.run(Thread.java:745)
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)