[ https://issues.apache.org/jira/browse/GEODE-4738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16377842#comment-16377842 ]
ASF subversion and git services commented on GEODE-4738: -------------------------------------------------------- Commit 3dad0a3a0a467bd5cf388af31ccfc69ad0c28443 in geode's branch refs/heads/develop from [~eshu] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=3dad0a3 ] GEODE-4738: move eventSeqNum and versionVector setting in constructors. (#1504) * GEODE-4738: move eventSeqNum and versionVector setting in constructors. > 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 > Affects Versions: 1.4.0 > Reporter: Eric Shu > Assignee: Eric Shu > Priority: Major > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > 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)