Atomikos Forum

All feedback will be investigated, but priority support, confidential support, and product priority updates are reserved for customers. Interested in becoming a customer? Subscribe here...

Only registered users can post (registration is free). Problems registering? Send an email to support@atomikos.com to get help.


Postgresql Rollback race condition?

What follows is an annotated Postgresql log during a 2PC using Atomikos:

1. One of the connections is preparing a transaction to be committed:

2017-04-03 18:28:08 UTC:xxx.xxx.xxx.xxx(44770):host@host:[29937]:LOG:  execute <unnamed>: PREPARE TRANSACTION '1096044365_MTAuMTEuMTM5LjIzOS50bTE0OTEyNDQwODgxOTcwMTYxMA==_MTAuMTEuMTM5LjIzOS50bTI4NTI='

2. Another connection seems to be asking for all prepare xtns and rolling the one from above back. (This must be the transaction timeout mechanism.)

2017-04-03 18:28:08 UTC:xxx.xxx.xxx.xxx(51854):host@host:[4747]:LOG:  execute <unnamed>: SELECT gid FROM pg_prepared_xacts where database = current_database()

2017-04-03 18:28:08 UTC:xxx.xxx.xxx.xxx(51854):host@host:[4747]:LOG:  execute <unnamed>: ROLLBACK PREPARED '1096044365_MTAuMTEuMTM5LjIzOS50bTE0OTEyNDQwODgxOTcwMTYxMA==_MTAuMTEuMTM5LjIzOS50bTI4NTI='

3. The first connection tries to commit the txn that it previously prepared.

2017-04-03 18:28:08 UTC:xxx.xxx.xxx.xxx(44770):host@host:[29937]:LOG:  execute <unnamed>: COMMIT PREPARED '1096044365_MTAuMTEuMTM5LjIzOS50bTE0OTEyNDQwODgxOTcwMTYxMA==_MTAuMTEuMTM5LjIzOS50bTI4NTI='

2017-04-03 18:28:08 UTC:xxx.xxx.xxx.xxx(44770):host@host:[29937]:ERROR:  prepared transaction with identifier "1096044365_MTAuMTEuMTM5LjIzOS50bTE0OTEyNDQwODgxOTcwMTYxMA==_MTAuMTEuMTM5LjIzOS50bTI4NTI=" does not exist

4. (Log not shown) Endless sequences like #3 above for the TXN ID that results in "-3" Internal Errors.

I suppose we can dramatically increase the connection timeout to avoid this (assuming it is indeed the timeout mechanism responsible for the rollback in #2 above). Other suggestions? Wild guess: do you think this is a Postgresql driver or Atomikos issue?

Thanks,
Jordan
Jordan Slott Send private email
maandag 3 april 2017
 
 
Powered by FogBugz