<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/lib/sqlalchemy/pool.py, branch row_proc_integration_3</title>
<subtitle>github.com: zzzeek/sqlalchemy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/'/>
<entry>
<title>- Fixed bug in :class:`.Connection` and pool where the</title>
<updated>2015-02-04T23:51:24+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-02-04T23:51:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=068f9a1531c8114360d5fcd964c27fe6a21f4679'/>
<id>068f9a1531c8114360d5fcd964c27fe6a21f4679</id>
<content type='text'>
:meth:`.Connection.invalidate` method, or an invalidation due
to a database disconnect, would fail if the
``isolation_level`` parameter had been used with
:meth:`.Connection.execution_options`; the "finalizer" that resets
the isolation level would be called on the no longer opened connection.
fixes #3302
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
:meth:`.Connection.invalidate` method, or an invalidation due
to a database disconnect, would fail if the
``isolation_level`` parameter had been used with
:meth:`.Connection.execution_options`; the "finalizer" that resets
the isolation level would be called on the no longer opened connection.
fixes #3302
</pre>
</div>
</content>
</entry>
<entry>
<title>- wip - start factoring events so that we aren't using descriptors for dispatch,</title>
<updated>2015-01-04T23:06:02+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-01-04T20:07:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=cf272325635c1205da7fd2668eac3c8ac409dafb'/>
<id>cf272325635c1205da7fd2668eac3c8ac409dafb</id>
<content type='text'>
allowing us to move to __slots__
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
allowing us to move to __slots__
</pre>
</div>
</content>
</entry>
<entry>
<title>- corrections</title>
<updated>2014-12-27T21:22:41+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-12-27T20:55:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=544e72bcb6af1ca657b1762f105634372eca3bc0'/>
<id>544e72bcb6af1ca657b1762f105634372eca3bc0</id>
<content type='text'>
- attempt to add a script to semi-automate the fixing of links
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- attempt to add a script to semi-automate the fixing of links
</pre>
</div>
</content>
</entry>
<entry>
<title>cleanup exception handling - use new exception hierarchy (since python 2.5)</title>
<updated>2014-10-02T20:00:31+00:00</updated>
<author>
<name>ndparker</name>
<email>ndparker@users.noreply.github.com</email>
</author>
<published>2014-10-02T20:00:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=690532131d8ce8250c62f1d3e27405902df03e70'/>
<id>690532131d8ce8250c62f1d3e27405902df03e70</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>improve exception vs. exit handling</title>
<updated>2014-09-23T21:28:11+00:00</updated>
<author>
<name>ndparker</name>
<email>ndparker@users.noreply.github.com</email>
</author>
<published>2014-09-23T21:28:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=ce52dd9e3b71f2074d7821fe62803d4e0eefe512'/>
<id>ce52dd9e3b71f2074d7821fe62803d4e0eefe512</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix doc typo 'conjunection'</title>
<updated>2014-08-21T18:38:23+00:00</updated>
<author>
<name>Gunnlaugur Þór Briem</name>
<email>gunnlaugur@gmail.com</email>
</author>
<published>2014-07-31T23:26:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a12fcd1487f6ae210486fa4a015d9ea71e3bb7d7'/>
<id>a12fcd1487f6ae210486fa4a015d9ea71e3bb7d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed bug in connection pool logging where the "connection checked out"</title>
<updated>2014-08-20T16:01:20+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-08-20T16:01:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=92b0ad0fef0b9ee3d54767cf17e2baf1fd1546da'/>
<id>92b0ad0fef0b9ee3d54767cf17e2baf1fd1546da</id>
<content type='text'>
debug logging message would not emit if the logging were set up using
``logging.setLevel()``, rather than using the ``echo_pool`` flag.
Tests to assert this logging have been added.  This is a
regression that was introduced in 0.9.0.
fixes #3168
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
debug logging message would not emit if the logging were set up using
``logging.setLevel()``, rather than using the ``echo_pool`` flag.
Tests to assert this logging have been added.  This is a
regression that was introduced in 0.9.0.
fixes #3168
</pre>
</div>
</content>
</entry>
<entry>
<title>PEP8 style fixes</title>
<updated>2014-07-14T00:10:55+00:00</updated>
<author>
<name>Brian Jarrett</name>
<email>celttechie@gmail.com</email>
</author>
<published>2014-07-10T22:28:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=28dd15081db4b7e978fa7a187c3aef1c0e4ad4e3'/>
<id>28dd15081db4b7e978fa7a187c3aef1c0e4ad4e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- break up the &lt;authors&gt; copyright comment as part of a pass</title>
<updated>2014-07-09T22:26:55+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-07-09T22:26:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=5407ec9d389cfa1cdd4ed4b82ba311085132d9db'/>
<id>5407ec9d389cfa1cdd4ed4b82ba311085132d9db</id>
<content type='text'>
to get all flake8 passing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to get all flake8 passing
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed some "double invalidate" situations were detected where</title>
<updated>2014-05-10T19:34:42+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-05-10T19:31:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=85d1899b76a37b4bf922b1cea4f608ba806b41d0'/>
<id>85d1899b76a37b4bf922b1cea4f608ba806b41d0</id>
<content type='text'>
a connection invalidation could occur within an already critical section
like a connection.close(); ultimately, these conditions are caused
by the change in :ticket:`2907`, in that the "reset on return" feature
calls out to the Connection/Transaction in order to handle it, where
"disconnect detection" might be caught.  However, it's possible that
the more recent change in :ticket:`2985` made it more likely for this
to be seen as the "connection invalidate" operation is much quicker,
as the issue is more reproducible on 0.9.4 than 0.9.3.

Checks are now added within any section that
an invalidate might occur to halt further disallowed operations
on the invalidated connection.  This includes two fixes both at the
engine level and at the pool level.   While the issue was observed
with highly concurrent gevent cases, it could in theory occur in
any kind of scenario where a disconnect occurs within the connection
close operation.
fixes #3043
ref #2985
ref #2907

- add some defensive checks during an invalidate situation:
1. _ConnectionRecord.invalidate might be called twice within finalize_fairy
if the _reset() raises an invalidate condition, invalidates, raises and then
goes to invalidate the CR.  so check for this.
2. similarly within Conneciton, anytime we do handle_dbapi_error(), we might become invalidated.
so a following finally must check self.__invalid before dealing with the connection
any futher.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a connection invalidation could occur within an already critical section
like a connection.close(); ultimately, these conditions are caused
by the change in :ticket:`2907`, in that the "reset on return" feature
calls out to the Connection/Transaction in order to handle it, where
"disconnect detection" might be caught.  However, it's possible that
the more recent change in :ticket:`2985` made it more likely for this
to be seen as the "connection invalidate" operation is much quicker,
as the issue is more reproducible on 0.9.4 than 0.9.3.

Checks are now added within any section that
an invalidate might occur to halt further disallowed operations
on the invalidated connection.  This includes two fixes both at the
engine level and at the pool level.   While the issue was observed
with highly concurrent gevent cases, it could in theory occur in
any kind of scenario where a disconnect occurs within the connection
close operation.
fixes #3043
ref #2985
ref #2907

- add some defensive checks during an invalidate situation:
1. _ConnectionRecord.invalidate might be called twice within finalize_fairy
if the _reset() raises an invalidate condition, invalidates, raises and then
goes to invalidate the CR.  so check for this.
2. similarly within Conneciton, anytime we do handle_dbapi_error(), we might become invalidated.
so a following finally must check self.__invalid before dealing with the connection
any futher.
</pre>
</div>
</content>
</entry>
</feed>
