[ 
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)

Reply via email to