Eric Shu created GEODE-2429: ------------------------------- Summary: NPE in JtaAfterCompletionMessage.operateOnTx() Key: GEODE-2429 URL: https://issues.apache.org/jira/browse/GEODE-2429 Project: Geode Issue Type: Bug Components: transactions Reporter: Eric Shu
There is a race could cause a NullPointerException: Exception in notify after completion due to java.lang.NullPointerException org.apache.geode.cache.TransactionException: java.lang.NullPointerException, caused by java.lang.NullPointerException at org.apache.geode.internal.cache.PeerTXStateStub.afterCompletion(PeerTXStateStub.java:206) at org.apache.geode.internal.cache.TXStateProxyImpl.afterCompletion(TXStateProxyImpl.java:615) at org.apache.geode.internal.cache.tier.sockets.command.TXSynchronizationCommand$2.run(TXSynchronizationCommand.java:160) at org.apache.geode.internal.cache.tier.sockets.command.TXSynchronizationCommand.cmdExecute(TXSynchronizationCommand.java:211) at org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:141) at org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:783) at org.apache.geode.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:914) at org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1171) 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$1$1.run(AcceptorImpl.java:519) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in org.apache.geode.internal.cache.JtaAfterCompletionMessage.operateOnTx(JtaAfterCompletionMessage.java:94) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in org.apache.geode.internal.cache.TXMessage.process(TXMessage.java:88) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in org.apache.geode.distributed.internal.DistributionManager$5$1.run(DistributionManager.java:917) at Remote Member 'rs-TheLynns-client-1(bridgegemfire1_rs-TheLynns-client-1_13760:13760)<ec><v1>:1025' in java.lang.Thread.run(Thread.java:745) at org.apache.geode.distributed.internal.ReplyException.handleAsUnexpected(ReplyException.java:85) at org.apache.geode.internal.cache.RemoteOperationMessage$RemoteOperationResponse.waitForCacheException(RemoteOperationMessage.java:652) at org.apache.geode.internal.cache.TXRemoteCommitMessage$RemoteCommitResponse.waitForResponse(TXRemoteCommitMessage.java:273) at org.apache.geode.internal.cache.PeerTXStateStub.afterCompletion(PeerTXStateStub.java:200) ... 11 more -- This message was sent by Atlassian JIRA (v6.3.15#6346)