I've made web application using Pyramid 1.2.5 + Python 2.7.1 + SQLAlchemy 0.7.4 and occasionally encountered the following error.
Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 176, in __call__ response = self.handle_request(request) File "/usr/local/lib/python2.7/site-packages/pyramid_debugtoolbar-0.9.7-py2.7.egg/pyramid_debugtoolbar/toolbar.py", line 103, in toolbar_tween return handler(request) File "/usr/local/lib/python2.7/site-packages/pyramid/tweens.py", line 17, in excview_tween response = handler(request) File "/usr/local/lib/python2.7/site-packages/pyramid_tm-0.3-py2.7.egg/pyramid_tm/__init__.py", line 61, in tm_tween response = handler(request) File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 153, in handle_request response = view_callable(context, request) File "/usr/local/lib/python2.7/site-packages/pyramid/config/views.py", line 187, in _secured_view return view(context, request) File "/usr/local/lib/python2.7/site-packages/pyramid/config/views.py", line 320, in viewresult_to_response result = view(context, request) File "/usr/local/lib/python2.7/site-packages/pyramid/config/views.py", line 403, in _requestonly_view response = view(request) File "/home/ec2-user/work/DP-MGMT/dp_mgmt/views/users.py", line 57, in users for user, snsuser in query.all(): File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/query.py", line 1947, in all return list(self) File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/query.py", line 2057, in __iter__ return self._execute_and_instances(context) File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/query.py", line 2072, in _execute_and_instances result = conn.execute(querycontext.statement, self._params) File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1405, in execute params) File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1538, in _execute_clauseelement compiled_sql, distilled_params File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1605, in _execute_context None, None) File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1599, in _execute_context conn = self._revalidate_connection() File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1018, in _revalidate_connection "Can't reconnect until invalid " StatementError: Can't reconnect until invalid transaction is rolled back (original cause: InvalidRequestError: Can't reconnect until invalid transaction is rolled back) 'SELECT dp_user.user_id AS dp_user_user_id, dp_user.email AS dp_user_email, dp_user.new_email AS dp_user_new_email, dp_sns_user.`SNS_name` AS `dp_sns_user_SNS_name` \\nFROM dp_user, dp_sns_user \\nWHERE dp_user.status = %s AND dp_user.user_id = dp_sns_user.user_id AND dp_user.signup_date >= %s AND dp_user.signup_date < %s ORDER BY dp_user.signup_date DESC' [immutabledict({})] All queries what my web app is doing is SELECT. So I don't think I need to explicitly call session.commit() at all. I can't understand why "invalid transaction" ever occurred. mysqld's wait_timeout is 28800 and I create sqlalchemy engine with pool_recycle of 3600. after I restarted apache, which run my web app through wsgi, it starts working again. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sqlalchemy/-/EmuiK-3NR1gJ. 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.