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)