On Dec 5, 2013, at 10:54 AM, Mariano Mara <mariano.m...@gmail.com> wrote:

> Hi there, in one application I am using sqlalchemy 0.7.8 against Oracle 11 
> release 1 and I am hitting Oracle's lost contact more times than I would like 
> to. Since the app seems unable to recover from the error, I have to restart 
> it completely (it is a pyramid app).
> According to this changeset[1], the error ORA-03135 (connection lost contact) 
> is included in the expected disconnection errors from oracle since 0.7.5  and 
> my expectation would be that sqlalchemy would be able to recover from such 
> error gracefully. Did I misunderstand how it works? Should I take actions im 
> my app when I somehow detects this situation?
> 
> TIA,
> Mariano
> 
> [1] 
> http://www.sqlalchemy.org/trac/changeset/dfb0b6aa622006e1e71a5296c3fa17667e24aac1/

it will recover in that when you catch this exception, then continue to use 
that Connection, it will know that it needs to reconnect with a fresh DBAPI 
connection.   the underlying connection pool is also dumped when this exception 
is encountered.

it’s not possible for the Connection to transparently retry the operation with 
a new DBAPI connection without raising an error because connection session 
state is lost.   e.g. if it occurs in the middle of a result set, the results 
are gone, occurs in the middle of a transaction, everything in the transaction 
is gone, etc.




Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to