Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.1
-
Security Level: public (Regular issues)
-
None
-
GA version of Geronimo 2.0.1 running under Windows XP on Intel machine
-
Regression
Description
An external JMS Resource adapter is installed into Geronimo.
XA connections configured on the JMS resource adapter are used by a container managed session EJB to connect and put a message onto two different remote resource manager queues. Both resource managers XA resources receive a preprere call and respond rc=0, ie ok.
The first resource manager is called to commit and it does so ok.
The second resource manager is called to commit at which point we kill the Geronimo server process before the commit is processed.
After restarting the Geronimo server process recover is called on all XA connections, the second resource manager responds to the recover call with the indoubt transaction Xid but instead of the required commit call we receive a rollback call - since the first resource manager has committed the second resource manager must also be called to commit.
This problem was introduced into the Geronimo code base between M6-rc1 and 2.0.1 as the transaction recovery scenario described worked fine in M6-rc1