[Sqlalchemy-tickets] Issue #3309: AssertionError in rollback on failed commit. (zzzeek/sqlalchemy)
Brought to you by:
zzzeek
|
From: zoomorph <iss...@bi...> - 2015-02-19 06:09:48
|
New issue 3309: AssertionError in rollback on failed commit. https://bitbucket.org/zzzeek/sqlalchemy/issue/3309/assertionerror-in-rollback-on-failed zoomorph: My commit code... ``` try: self._session.commit() except Exception as e: logger.exception("Caught exception in commit.") self.rollback() ``` Caught the following exception: ``` Traceback (most recent call last): File "/myapp/tpcommon/db/core.py", line 111, in commit self._session.commit() File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 779, in commit self.transaction.commit() File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 384, in commit self._prepare_impl() File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 364, in _prepare_impl self.session.flush() File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 1993, in flush self._flush(objects) File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 2111, in _flush transaction.rollback(_capture_exception=True) File "/myapp/env_pypy/site-packages/sqlalchemy/util/langhelpers.py", line 63, in __exit__ compat.reraise(type_, value, traceback) File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 2111, in _flush transaction.rollback(_capture_exception=True) File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 426, in rollback self._restore_snapshot(dirty_only=self.nested) File "/myapp/env_pypy/site-packages/sqlalchemy/orm/session.py", line 266, in _restore_snapshot assert self._is_transaction_boundary AssertionError ``` When the exception handler called rollback(), it again raised this exception. After that, my code received the following when trying to continue using the session: ```InvalidRequestError: This Session's transaction has been rolled back by a nested rollback() call. To begin a new transaction, issue Session.rollback() first. ``` I'm using master branch code from about a week ago. I'm not sure what causes this error but it's happening infrequently. |