-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 10.10
-
Fix Version/s: 10.10-HF11, 11.1, 2021.0
-
Component/s: Core VCS
On 10.10 I have seen some problems using a second repository.
Steps to reproduce:
- set up 10.10, register and hotfix it
- make sure you have a Postgres db host with 'nuxeo' and 'secondrepo' dbs
- add the following to nuxeo.conf
nuxeo.templates=postgresql nuxeo.db.singleDataSource= nuxeo.db.xaMode=true
- drop the attached config files in nxserver/config
Using docker to quickly set up the postgres db:
docker pull postgres
docker run -d -p 5432:5432 --name postgres -e POSTGRES_DB=nuxeo -e POSTGRES_USER=nuxeo -e POSTGRES_PASSWORD=password postgres -c "max_prepared_transactions=100"
docker exec -it postgres psql -U nuxeo
create database secondrepo
Errors like the following are visible in server.log:
2019-06-04T17:07:02,341 ERROR [Nuxeo-Event-PostCommit-1] [org.apache.geronimo.transaction.manager.RollbackTask] Unexpected exception committing org.apache.geronimo.transaction.manager.WrapperNamedXAResource@6ce6b828; continuing to commit other RMs org.postgresql.xa.PGXAException: Error rolling back prepared transaction. rollback xid=[Xid:globalId=11000000047544d4944000000000000000000000000000000000000000000000000000,length=64,branchId=1000000047544d4944000000000000000000000000000000000000000000000000000,length=64], preparedXid=[Xid:globalId=11000000047544d4944000000000000000000000000000000000000000000000000000,length=64,branchId=1000000047544d4944000000000000000000000000000000000000000000000000000,length=64], currentXid={2} at org.postgresql.xa.PGXAConnection.rollback(PGXAConnection.java:480) ~[postgresql-42.2.5.jar:42.2.5] at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.rollback(WrapperNamedXAResource.java:100) ~[geronimo-transaction-2.2.1.jar:2.2.1] at org.apache.geronimo.transaction.manager.RollbackTask.run(RollbackTask.java:63) [geronimo-transaction-2.2.1.jar:2.2.1] at org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:584) [geronimo-transaction-2.2.1.jar:2.2.1] at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:325) [geronimo-transaction-2.2.1.jar:2.2.1] at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252) [geronimo-transaction-2.2.1.jar:2.2.1] at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:538) [nuxeo-runtime-jtajca-10.10.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:363) [nuxeo-runtime-jtajca-10.10.jar:?] at org.nuxeo.ecm.core.event.impl.PostCommitEventExecutor$EventBundleRunner.call(PostCommitEventExecutor.java:270) [nuxeo-core-event-10.10-HF06.jar:?] at org.nuxeo.ecm.core.event.impl.PostCommitEventExecutor$EventBundleRunner.call(PostCommitEventExecutor.java:210) [nuxeo-core-event-10.10-HF06.jar:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212] Caused by: org.postgresql.util.PSQLException: This connection has been closed. at org.postgresql.jdbc.PgConnection.checkClosed(PgConnection.java:783) ~[postgresql-42.2.5.jar:42.2.5] at org.postgresql.jdbc.PgConnection.setAutoCommit(PgConnection.java:727) ~[postgresql-42.2.5.jar:42.2.5] at org.postgresql.xa.PGXAConnection.rollback(PGXAConnection.java:454) ~[postgresql-42.2.5.jar:42.2.5] ... 13 more 2019-06-04T17:07:02,347 ERROR [Nuxeo-Event-PostCommit-1] [org.nuxeo.runtime.transaction.TransactionHelper] Unable to commit javax.transaction.RollbackException: transaction rolled back due to problems in prepare at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:326) ~[geronimo-transaction-2.2.1.jar:2.2.1] at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252) ~[geronimo-transaction-2.2.1.jar:2.2.1] at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:538) ~[nuxeo-runtime-jtajca-10.10.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:363) [nuxeo-runtime-jtajca-10.10.jar:?] at org.nuxeo.ecm.core.event.impl.PostCommitEventExecutor$EventBundleRunner.call(PostCommitEventExecutor.java:270) [nuxeo-core-event-10.10-HF06.jar:?] at org.nuxeo.ecm.core.event.impl.PostCommitEventExecutor$EventBundleRunner.call(PostCommitEventExecutor.java:210) [nuxeo-core-event-10.10-HF06.jar:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]