[
http://jira.nuxeo.org/browse/NXP-4029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Florent Guillaume resolved NXP-4029.
------------------------------------
Resolution: Fixed
Fixed:
http://hg.nuxeo.org/nuxeo/nuxeo-core/rev/b04268a8fca4
When there is an error in the session flush during TransactionalResource#end,
we must explicitly then end the mapper xaresource with TMFAIL and rollback our
session state and the mapper xaresource , because even though we raise an
exception, the XA container won't then call rollback on us by itself.
> nuxeo freeze after database transaction error
> ---------------------------------------------
>
> Key: NXP-4029
> URL: http://jira.nuxeo.org/browse/NXP-4029
> Project: Nuxeo Enterprise Platform
> Issue Type: Bug
> Components: Core SQL Storage
> Affects Versions: 5.2 GA
> Reporter: Stéphane Lacoin
> Assignee: Thierry Delprat
> Priority: Critical
> Fix For: 5.2.1
>
> Original Estimate: 0 minutes
> Remaining Estimate: 0 minutes
>
> We observed at multiple time that nuxeo dm stops to serve requests after the
> occurence of a PostgreSQL error.
> At the same time, Arjuna starts to warn about transactions that are not
> recoverable.
> The temporary workaround that we have found is to manually remove the
> postgreSQL prepared transaction and to restart the server with a cleaned
> tx-object-store.
> Following is an extract of exceptions reported in server log :
> Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception:
> org.postgresql.util.PSQLException. message: ERROR: insert or update on table
> "hierarchy" violates foreign key constraint "hierarchy_parentid_hierarchy_fk"
> Detail: Key (parentid)=(30243e0f-f1f8-4113-93b8-14d3de03850a) is not
> present in table "hierarchy".
> at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1608)
> at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1343)
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:194)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:343)
> at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:477)
> at $Proxy374.execute(Unknown Source)
> at
> org.nuxeo.ecm.core.storage.sql.Mapper.insertSingleRow(Mapper.java:799)
> ... 48 more
> 2009-09-14 13:42:21,763 WARN [com.arjuna.ats.jta.logging.loggerI18N]
> [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa]
> [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not
> find new XAResource to use f
> or recovering non-serializable XAResource
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets