Eric Shu created GEODE-4142: ------------------------------- Summary: When processing the beforeCompletion message, transaction should check if the transaction has been completed already Key: GEODE-4142 URL: https://issues.apache.org/jira/browse/GEODE-4142 Project: Geode Issue Type: Bug Components: transactions Reporter: Eric Shu
The following NPE could occur if the JTA has been committed but client connection was lost. The client retries the afterCompletion on another node. Needs to check if the JTA has been completed/committed already. {noformat} java.lang.NullPointerException at org.apache.geode.internal.cache.JtaBeforeCompletionMessage.operateOnTx(JtaBeforeCompletionMessage.java:66) at org.apache.geode.internal.cache.TXMessage.process(TXMessage.java:88) at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:374) at org.apache.geode.distributed.internal.DistributionMessage.schedule(DistributionMessage.java:432) at org.apache.geode.distributed.internal.DistributionManager.scheduleIncomingMessage(DistributionManager.java:3554) at org.apache.geode.distributed.internal.DistributionManager.handleIncomingDMsg(DistributionManager.java:3188) at org.apache.geode.distributed.internal.DistributionManager$MyListener.messageReceived(DistributionManager.java:4363) at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.dispatchMessage(GMSMembershipManager.java:1127) at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.handleOrDeferMessage(GMSMembershipManager.java:1045) at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager$MyDCReceiver.messageReceived(GMSMembershipManager.java:408) at org.apache.geode.distributed.internal.direct.DirectChannel.receive(DirectChannel.java:715) at org.apache.geode.internal.tcp.TCPConduit.messageReceived(TCPConduit.java:875) at org.apache.geode.internal.tcp.Connection.dispatchMessage(Connection.java:3967) at org.apache.geode.internal.tcp.Connection.processNIOBuffer(Connection.java:3553) at org.apache.geode.internal.tcp.Connection.runNioReader(Connection.java:1829) at org.apache.geode.internal.tcp.Connection.run(Connection.java:1690) at java.lang.Thread.run(Thread.java:745) {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)