OK, I've just tried the patch.
I've checked out SA from svn at revision 1873, applied the patch, and tested
the whole, using several cherrypy threads (thread_pool = 10).
This did not resolved the problem for me, as I get the error you described
("This connection still has X open cursors"). Here's the traceback:
Traceback (most recent call last):
File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.1-py2.4.egg/cherrypy/_cphttptools.py",
line 110, in _run
applyFilters('before_finalize')
File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.1-py2.4.egg/cherrypy/filters/__init__.py",
line 151, in applyFilters
method()
File "/home/slelong/Documents/Projects/dsf/tucos/filters/audit.py", line 94,
in before_finalize
self.feed_audit()
File "/home/slelong/Documents/Projects/dsf/tucos/filters/audit.py", line 82,
in feed_audit
aa.flush()
File "build/bdist.linux-i686/egg/sqlalchemy/ext/assignmapper.py", line 16,
in do
File "build/bdist.linux-i686/egg/sqlalchemy/orm/session.py", line 234, in
flush
File "build/bdist.linux-i686/egg/sqlalchemy/orm/unitofwork.py", line 211, in
flush
File "build/bdist.linux-i686/egg/sqlalchemy/orm/session.py", line 49, in
commit
File "build/bdist.linux-i686/egg/sqlalchemy/orm/session.py", line 61, in
close
File "build/bdist.linux-i686/egg/sqlalchemy/engine/base.py", line 235, in
close
File "build/bdist.linux-i686/egg/sqlalchemy/pool.py", line 207, in close
File "build/bdist.linux-i686/egg/sqlalchemy/pool.py", line 212, in _close
InvalidRequestError: This connection still has 1 open cursors
Cheers,
Seb
--
Sébastien LELONG
On Tuesday 19 September 2006 22:35, Michael Bayer wrote:
> hey there -
>
> attached is another patch, which affects the instrumented Cursor and
> Connection objects so that it is impossible to return a connection to
> the pool without all cursors being closed; it throws an error otherwise.
>
> after running all the unit tests with SA, the only time this happens
> is during a rollback(); i added an extra step to rollback to
> explicitly close all open cursors after rolling back to fix that issue.
>
> so when you apply this patch, im hoping that it either fixes the
> problem, or you suddenly get lots of errors saying "This connection
> still has X open cursors", which will pinpoint exactly where cursors
> are staying open when connections are being returned to the pool.
>
> because it will potentially raise a bunch of errors im trying to hold
> off on committing this patch just yet.
>
> give it a try ! also attached to ticket # 306.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users