[ 
https://issues.apache.org/jira/browse/GEODE-4738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16379005#comment-16379005
 ] 

ASF subversion and git services commented on GEODE-4738:
--------------------------------------------------------

Commit 3dad0a3a0a467bd5cf388af31ccfc69ad0c28443 in geode's branch 
refs/heads/feature/GEODE-4685 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
>             Fix For: 1.5.0
>
>          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)

Reply via email to