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.

Reply via email to