-
Bug
-
Resolution: Done
-
Major
-
EAP_EWP 5.1.0_CR3
-
None
-
EAP 5.1.0 CR3, Testsuite from EAP branch
-
Release Notes
-
Not Required
The Recovery Manager seems to have a problem with matching the XARecoveryResource registered for PostgreSQL 8.4 to Xid of a crashed transaction. Because of that some crash recovery tests fail.
See snippet from the server.log of such failing tests:
...
10:05:07,827 WARN [loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-seriali
zable XAResource < 131075, 27, 25, 49455510248484848484958975249555852995798485750495854100551024848484848495897524955585299579848575049585550 >
...
It looks like the Xids comparison of an in-doubt transaction in XARecoveryModule.getNewXAResource does not work well with PostgreSQL 8.4 datasource. The same for PostgreSQL 8.2 and 8.3 works without any problem.
This can be reproduced by taking the EAP5.1 branch from svn:
1) checkout the JBPAPP_5_1 branch
2) build the EAP
cd <EAP_checkout_dir>/build; ./build.sh -Dbuild.unsecure=true
3) build the EAP Testsuite
cd ../testsuite; ./build.sh
4) run one of the failed tests for PostgreSQL8.4 (has to be run inside the redhat network)
./build.sh tests-ts-crash-recovery -Djbossts.db=psql_8.4 -Djbossts.tstype=jta -Djbossts.tsdemarc=cmt -Djbossts.testcase=prepare_halt -Djbossts.target=crash-tests-single
5) check server.log in ../build/output/jboss-5.1.0.Branch/server/crashrecovery-jta/log
- clones
-
JBPAPP-5584 Document - The default max_prepared_transactions setting in PostgreSQL 8.4 denies any XA transactions.
- Closed