Incorrect response code after XA recovery
От | Ondrej Chaloupka |
---|---|
Тема | Incorrect response code after XA recovery |
Дата | |
Msg-id | 399053975.7952081.1375104824437.JavaMail.root@redhat.com обсуждение исходный текст |
Ответы |
Re: Incorrect response code after XA recovery
|
Список | pgsql-bugs |
Hi, I would like to consult with you a problematic response put by PostgreSQL after transaction recovery run by Narayana (JBossTS). I work on tests for Narayana and I hit a issue with PostgreSQL. The db returns incorrect code XAException.XA_HEURHAZ whenthe TM does recovery after crash of the jboss eap app server. The exception is following: Caused by: org.postgresql.util.PSQLException: ERROR: prepared transaction with identifier "131072_AAAAAAAAAAAAAP//fwAAAd7TXOBR8jj5AAAAKDE=_AAAAAAAAAAAAAP//fwAAAd7TXOBR8jj5AAAALQAAAAAAAAAA"does not exist It's run on PostgreSQL 9.2 but the older versions seem to be affected as well. The problem occurs when TM runs on JTS transactions. The idea of the test: The test enlists two resources to a transaction. There is called prepare on resource of PostgreSQL. The app server crashesbefore prepare is called on second transaction participant. After restart of the app server TM tries to recover thetransaction. As the fail occurs during prepare phase rollback is expected. The OTS specification requires both bottom up and top down recovery to be triggered by the recovering resource. This causesthat two rollback calls are done against the DB. DB receives rollback call and does the rollback. Then for the secondtime it returns the exceptional code. As the DB already rollbacked the transaction and forgot about it the DB returnserror that no such transaction exists. But this seems to be against OTS specification. There are some more details in the following bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=988724 Do you have some experience with such behaviour? Can I suppose this being problem of PostgreSQL? Or is there already somebug for this issue in Postgres bugtracking system? Thank you Ondra
В списке pgsql-bugs по дате отправления: