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)