[ https://issues.apache.org/jira/browse/GEODE-4142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Shu reassigned GEODE-4142: ------------------------------- Assignee: Eric Shu > 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 > Assignee: 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)