Hi George,

On Tue, Feb 23, 2010 at 7:15 AM, georgehu <geo...@gmail.com> wrote:
> On 2/20/2010 3:33 PM, Darryl Cousins wrote:
>
> Hi Chris,
>
> On Sat, Feb 20, 2010 at 5:03 PM, Chris McDonough <chr...@plope.com> wrote:
>
>
> It looks like repoze.tm2 is committing the transaction before beaker has a
> chance to do a write.  Or something.  I'd move beaker below repoze.tm2 in
> paste.ini as a first shot at solving it.
>
>
> Thanks for the reply. I gave that a go (I've previously tried swapping
> the pipeline parts around to find a solution). Unfortunately to no
> avail (and I'm using beaker in memory so it's no real surprise).
>
> Wickert, Thanks for your reply. I had also wondered about that, but
> usually an sqlalchemy error will come through in the traceback. Of
> course it may be masked in some way (in a try/except statement). I'll
> continue to investigate.
>
> Thanks again for your replies.
>
> Best,
> Darryl
>
> On Sat, Feb 20, 2010 at 5:03 PM, Chris McDonough <chr...@plope.com> wrote:
>
>
> It looks like repoze.tm2 is committing the transaction before beaker has a
> chance to do a write.  Or something.  I'd move beaker below repoze.tm2 in
> paste.ini as a first shot at solving it.
>
> On 2/19/10 8:39 PM, Darryl Cousins wrote:
>
>
> Hi,
>
> I'm frequently coming across a problem with the transaction. A typical
> traceback is included below.
>
> Relevant section of paste.ini:
>
> [pipeline:main]
> pipeline =
>     responselogger
>     browserid
>     deliverance
>     beaker
>     egg:repoze.tm2#tm
>     who
>     myapp
>
> I don't call session.commit() anywhere in my code. And on refresh the
> error disappears (usually the first refresh, sometimes on second or
> third refresh).
>
> Has anyone else come across this problem and if so what was the
> solution or source of the problem?
>
> Thanks in advance,
> Darryl Cousins
>
> Traceback (most recent call last):
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/Paste-1.7.2-py2.6.egg/paste/httpserver.py",
> line 1062, in process_request_in_thread
>     self.finish_request(request, client_address)
>   File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py",
> line 320, in finish_request
>     self.RequestHandlerClass(request, client_address, self)
>   File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py",
> line 615, in __init__
>     self.handle()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/Paste-1.7.2-py2.6.egg/paste/httpserver.py",
> line 436, in handle
>     BaseHTTPRequestHandler.handle(self)
>   File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py",
> line 329, in handle
>     self.handle_one_request()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/Paste-1.7.2-py2.6.egg/paste/httpserver.py",
> line 431, in handle_one_request
>     self.wsgi_execute()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/Paste-1.7.2-py2.6.egg/paste/httpserver.py",
> line 287, in wsgi_execute
>     self.wsgi_start_response)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/repoze.debug-0.7-py2.6.egg/repoze/debug/responselogger.py",
> line 59, in __call__
>     app_iter = self.application(environ, replace_start_response)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/repoze.browserid-0.2-py2.6.egg/repoze/browserid/middleware.py",
> line 92, in __call__
>     return self.app(environ, start_response)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/parts/svneggs/deliverance/deliverance/security.py",
> line 89, in replacement_app
>     return app(environ, start_response)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/parts/svneggs/deliverance/deliverance/middleware.py",
> line 87, in __call__
>     resp = req.get_response(self.app)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/WebOb-0.9.8-py2.6.egg/webob/request.py",
> line 919, in get_response
>     application, catch_exc_info=False)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/WebOb-0.9.8-py2.6.egg/webob/request.py",
> line 887, in call_application
>     app_iter = application(self.environ, start_response)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/Beaker-1.5.1-py2.6.egg/beaker/middleware.py",
> line 152, in __call__
>     return self.wrap_app(environ, session_start_response)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/repoze.tm2-1.0a5-py2.6.egg/repoze/tm/__init__.py",
> line 47, in __call__
>     self.commit()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/repoze.tm2-1.0a5-py2.6.egg/repoze/tm/__init__.py",
> line 52, in commit
>     t.commit()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/transaction-1.0.0-py2.6.egg/transaction/_transaction.py",
> line 322, in commit
>     self._commitResources()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/transaction-1.0.0-py2.6.egg/transaction/_transaction.py",
> line 419, in _commitResources
>     rm.tpc_vote(self)
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/zope.sqlalchemy-0.4-py2.6.egg/zope/sqlalchemy/datamanager.py",
> line 77, in tpc_vote
>     self.tx.commit()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/session.py",
> line 366, in commit
>     self._assert_is_open()
>   File
> "/Users/darrylcousins/vortex/buildout/vortex/eggs/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/session.py",
> line 242, in _assert_is_open
>     raise sa_exc.InvalidRequestError(error_msg)
> InvalidRequestError: The transaction is closed
> _______________________________________________
> Repoze-dev mailing list
> Repoze-dev@lists.repoze.org
> http://lists.repoze.org/listinfo/repoze-dev
>
>
>
> --
> Chris McDonough
> Agendaless Consulting, Fredericksburg VA
> The repoze.bfg Web Application Framework Book: http://bfg.repoze.org/book
>
>
>
> _______________________________________________
> Repoze-dev mailing list
> Repoze-dev@lists.repoze.org
> http://lists.repoze.org/listinfo/repoze-dev
>
>
> I got the same error when I use my 1.1 code with 1.2 lib. I was suspecting
> the handle_teardown routine caused the error. So I changed the part
> according to the 1.2 document. And then everything was good. Hope it gives
> you a clue.

More than a clue - it seems that that has fixed the problem.

Many thanks,
Darryl Cousins

>
> George Hu
>
_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to