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.

Reply via email to