We use sqlalchemy 0.4.6 with Elixir 0.5.2 and zope.sqlalchemy Every once a while we get this error(see below): In a previous thread somebody said, just 'rollback your session when the exception is raised'?
We use a global session as follows: __session__ = scoped_session(sessionmaker(twophase=False,transactional=True,autoflush=True,extension=ZopeTransactionExtension())) All the rest of the transactional machinery is handled by Elixiry Entity object. So my question - how can we rollback in this situation? We tried to do __session__.remove() which seems to work but then zope seems to have a problem after it completes the request. ====================== 2011-03-11T10:41:22 ERROR Zope.SiteErrorLog http://dragon.initiatesystems.com:8080/ati/txm_inject_orm Traceback (innermost last): Module ZPublisher.Publish, line 121, in publish Module Zope2.App.startup, line 238, in commit Module transaction._manager, line 89, in commit Module transaction._transaction, line 329, in commit Module transaction._transaction, line 446, in _commitResources Module zope.sqlalchemy.datamanager, line 76, in tpc_vote Module sqlalchemy.orm.session, line 263, in commit Module sqlalchemy.orm.session, line 176, in _assert_is_open InvalidRequestError: The transaction is closed ===================== Appreciate any help I can get on this. ================ Mar 4 12:56:23 pbrk4.den05.accenx.com [err] https://acm.accenx.com/mapsrvcluster/ati/acm/tdm/group/19150/broker/25150/site/705077435/processMsg#012Traceback (innermost last):#012 Module ZPublisher.Publish, line 115, in publish#012 Module ZPublisher.mapply, line 88, in mapply#012 Module ZPublisher.Publish, line 41, in call_object#012 Module Shared.DC.Scripts.Bindings, line 313, in __call__#012 Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec#012 Module Products.PythonScripts.PythonScript, line 326, in _exec#012 Module None, line 90, in processMsg#012 - <PythonScript at /ati/acm/tdm/group/ processMsg used for /ati/acm/tdm/group/19150/broker/25150/site/ 705077435>#012 - Line 90#012 Module Shared.DC.Scripts.Bindings, line 313, in __call__#012 Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec#012 Module Products.PythonScripts.PythonScript, line 326, in _exec#012 Module None, line 131, in translate#012 - <PythonScript at /ati/acm/tdm/group/19150/broker/25150/site/705077435/outbound/ translate>#012 - Line 131#012 Module Shared.DC.Scripts.Bindings, line 313, in __call__#012 Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec#012 Module Products.PythonScripts.PythonScript, line 326, in _exec#012 Module None, line 99, in callTxm#012 - <PythonScript at / ati/acm/tdm/group/19150/broker/25150/site/705077435/outbound/ callTxm>#012 - Line 99#012 Module Shared.DC.Scripts.Bindings, line 313, in __call__#012 Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec#012 Module Products.PythonScripts.PythonScript, line 326, in _exec#012 Module None, line 44, in txm_ampiWrapperOrm#012 - <PythonScript at /ati/acm/tdm/group/19150/broker/25150/ BrokerMapFunctions/TxmFunctions/txm_ampiWrapperOrm>#012 - Line 44#012 Module Shared.DC.Scripts.Bindings, line 313, in __call__#012 Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec#012 Module Products.PythonScripts.PythonScript, line 326, in _exec#012 Module None, line 22, in getTransactionTypes#012 - <PythonScript at /ati/acm/ tdm/group/19150/broker/25150/BrokerMapFunctions/TxmFunctions/ getTransactionTypes>#012 - Line 22#012 Module Products.txm.txm, line 537, in txmQuery#012 Module Products.txm.txm_functions, line 139, in __init__#012 Module elixir.entity, line 854, in get_by#012 Module sqlalchemy.orm.query, line 907, in first#012 Module sqlalchemy.orm.query, line 935, in __iter__#012 Module sqlalchemy.orm.session, line 768, in _autoflush#012 Module sqlalchemy.orm.session, line 786, in flush#012 Module sqlalchemy.orm.unitofwork, line 230, in flush#012 Module sqlalchemy.orm.session, line 499, in begin#012 Module sqlalchemy.orm.session, line 178, in _begin#012 Module sqlalchemy.orm.session, line 166, in _assert_is_active#012InvalidRequestError: The transaction is inactive due to a rollback in a subtransaction and should be closed ========= -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.