Atomikos Forum

Incorrect commit sequence for non-XA and XA resources

We have the identical problem reported here: default82df.html?community.6.250.5.
We are using Transaction Essentials 3.9.2, configured with a non-xa datasource, and an XA TibcoJMS resource.   

The correct commit sequence for last gambit support is:
1. Prepare XA resource(s)
2. Commit non-xa resource
3. Commit XA resource(s)
4. Terminate transaction

DEBUG logs show that most of the time the above sequence is used.  However, occasionally  the commit sequence is incorrect, and step 2 and 3 are reversed, i.e.,
1.    Prepare TibJMS  (XA resource)
2.    Commit TibcoJMS (XA resource)
3.    Commit non-xa Datasource
4.    Terminate transaction
In addition, the commits occur in the sequence in which "addParticipant" is invoked on CompositeTransactionImp. 

Atomikos should consistently commit the non-xa resource first.
Janet Moyer Send private email
Wednesday, June 29, 2016
 
 
For our implementation of non-XA support the order does not really matter.
Guy Pardon Send private email
Sunday, July 10, 2016
 
 
We sometimes have the problem, below:

The following happens inside a transaction:

-record is inserted into the database
-jms message sent to a queue with PK from record above

When the message is received by the JMS listener from the queue above and it tries to retrieve the record by the PK, occasionally, the record is not found. This can only occur if the jms message is committed before the database update is, which should not happen in a proper transaction
Janet V. Moyer Send private email
Thursday, July 28, 2016
 
 
Well,

The commit is done in the order of access of the resources.

So if you access the DBMS first and then send on the queue, the DBMS will be committed first.

Contact me at guy at atomikos dot com if you want to do a quick Skype on that?
Guy Pardon Send private email
Friday, July 29, 2016
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics