Hello,
My use is case to make sure that the sqlalchemy process does not raise
exception(or 500) after the backend database reboots.
I tried using *pool_pre_ping = True* config to get things done but I am
getting a different error after the reboot happens
My configuration are:
SqlAlchemy = 1.2.17
FlaskSqlAlchemy = 2.1
Flask = 0.9
Bakend Database = Sybase
python-sybase = 0.39
Most of the sqlalchemy configuration other then pool_pre_ping=True is set
to default.
Here are the logs. Please let me know if there is anything I am doing it
incorrectly
Error: myapp.flask_sqlalchemy_model_init: Exception on /resources/search
[GET]
Traceback (most recent call last):
File "/sw/external/flask-py27-0.9/lib/python/flask/app.py", line 1687,
in wsgi_app
response = self.full_dispatch_request()
File "/sw/external/flask-py27-0.9/lib/python/flask/app.py", line 1360,
in full_dispatch_request
rv = self.handle_user_exception(e)
File "/sw/external/flask-py27-0.9/lib/python/flask/app.py", line 1358,
in full_dispatch_request
rv = self.dispatch_request()
File "/sw/external/flask-py27-0.9/lib/python/flask/app.py", line 1344,
in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/user/myapp/resource.py", line 44 in search_resources
result = db.engine.execute(sql).fetchall()
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/base.py", line
2143, in execute
connection = self.contextual_connect(close_with_result=True)
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/base.py", line
2192, in contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/base.py", line
2232, in _wrap_pool_connect
e, dialect, self
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/base.py", line
1528, in _handle_dbapi_exception_noconnection
util.raise_from_cause(sqlalchemy_exception, exc_info)
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/util/compat.py", line
296, in raise_from_clause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/base.py", line
2228, in _wrap_pool_connect
return fn()
File "/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/pool.py",
line 425, in connect
return _ConnectionFairy._checkout(self)
File "/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/pool.py",
line 853, in _checkout
result = pool._dialect.do_ping(fairy.connection)
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/default.py",
line 505, in do_ping
cursor.close()
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 431,
in close
self._reset()
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 327,
in _reset
self._close_ct_cursor
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 438,
in _close_ct_cursor
status = self._cmd.ct_cursor(CS_CURSOR_CLOSE)
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 250,
in _clientmsg_cb
raise DatbaseError(msg)
DatabaseError: (Sybase.DatabaseError) Layer: 1, Origin: 1
ct_cursor(): user api layer: external error: The connection has been
marked dead.
Exception Sybase.DatabaseError: DatabaseError('Layer: 1, Origin:
1\\nct_cmd_drop(): user api layer: external error: The connection has been
marked dead.',) in <bound method Cursor.__del__ of <Sybase.Cursor intance
at 0x7f9ee88477e8>> ignored
ERROR:sqlalchemy.pool.QueuePool:Exception during reset or similar
Traceback (most recent call last):
File "/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/pool.py",
line 742, in _finalize_fairy
fairy._reset(pool)
File "/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/pool.py",
line 929, in _reset
pool._dialect.do_rollback(self)
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/default.py",
line 486, in do_rollback
dbapi_connection.rollback(self)
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 1010,
in rollback
self.execute('rollback transaction')
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 1033,
in execute
cursor = self.cursor()
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 1019,
in cursor
return Cursor(self, inputmap, outputmap)
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 321,
in __init_-
status, self._cmd = self._owner._conn.ct_cmd_alloc()
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line 250,
in _clientmsg_cb
raise DatabaseError(msg)
DatabaseError: Layer: 1, Origin: 1
ct_cmd_alloc(): user api layer: external error: The connection has been
marked dead
ERROR:sqlalchemy.pool.QueuePool:Exception closing connection
<Sybase.Connection instance at 0x7f9ee87fcb90>
Traceback (most recent call last):
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/pool.py", line 333,
in _close_connection
self._dialect.do_close(connection)
File
"/sw/external/sqlalchemy-1.2.17/lib/python/sqlalchemy/engine/default.py",
line 492, in do_close
dbapi_connection.close()
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line
955, in close
status = conn.ct_cancel(CS_CANCEL_ALL)
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line
250, in _clientmsg_cb
raise DatabaseError(msg)
DatabaseError: Layer: 5, Origin: 3
ct_cancel(): network packet layer: internal net library error:
Net-Library operation terminated due to disconnect
mod_wsgi (pid=18201): Exception occured processing WSGI script
Traceback (most recent call last):
File "/sw/external/wekzeug-py27-0.8.3/lib/python/werkzeug/wsgi.py",
line 513, in next
return self._next()
File
"/sw/external/wekzeug-py27-0.8.3/lib/python/werkzeug/wrappers.py", line
829, in iter_encoded
for item in self.response:
File "/sw/external/wekzeug-py27-0.8.3/lib/python/werkzeug/wsgi.py",
line 513, in next
return self._next()
File
"/sw/external/wekzeug-py27-0.8.3/lib/python/werkzeug/wrappers.py", line
829, in iter_encoded
for item in self.response:
File "/sw/external/python-sybase-0.39/lib/python/Sybase.py", line
250, in _clientmsg_cb
raise DatabaseError(msg)
DatabaseError: Layer: 1, Origin: 1
ct_cmd_drop(): user api layer: external error: The connection has been
marked dead
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and Verifiable
Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.