lib/canonical/launchpad/webapp/publication.py, line 167, in beforeTraversal, does a transaction.begin(), as per standard Zope practice. This is within the following traceback:
File "/home/gary/launchpad/lp-sourcedeps/eggs/zope.server-3.6.1-py2.5.egg/zope/server/taskthreads.py", line 48, in handlerThread
task.service()
File "/home/gary/launchpad/lp-sourcedeps/eggs/zope.server-3.6.1-py2.5.egg/zope/server/serverchannelbase.py", line 207, in service
task.service()
File "/home/gary/launchpad/lp-sourcedeps/eggs/zope.server-3.6.1-py2.5.egg/zope/server/http/httptask.py", line 71, in service
self.channel.server.executeRequest(self)
File "/home/gary/launchpad/lp-sourcedeps/eggs/zc.zservertracelog-1.1.5-py2.5.egg/zc/zservertracelog/tracelog.py", line 114, in executeRequest
response = self.application(env, start_response)
File "/home/gary/launchpad/lp-sourcedeps/eggs/zope.app.wsgi-3.6.0-py2.5.egg/zope/app/wsgi/__init__.py", line 58, in __call__
request = publish(request, handle_errors=handle_errors)
File "/home/gary/launchpad/lp-sourcedeps/eggs/zope.publisher-3.10.0-py2.5.egg/zope/publisher/publish.py", line 142, in publish
publication.beforeTraversal(request)
File "/home/gary/launchpad/lp-branches/devel/lib/canonical/launchpad/webapp/publication.py", line 167, in beforeTraversal
transaction.begin()
The transaction.begin method performs an abort if a previous transaction exists, as you can see in transaction/_manager.py.
If I understand correctly, then, we are already doing what you are suggesting, Jeroen. Could you confirm or deny?
On the bright side, if someone can identify what *does* need to happen, this point in beforeTraversal would probably be a reasonable place to do it.
lib/canonical/ launchpad/ webapp/ publication. py, line 167, in beforeTraversal, does a transaction. begin() , as per standard Zope practice. This is within the following traceback:
File "/home/ gary/launchpad/ lp-sourcedeps/ eggs/zope. server- 3.6.1-py2. 5.egg/zope/ server/ taskthreads. py", line 48, in handlerThread gary/launchpad/ lp-sourcedeps/ eggs/zope. server- 3.6.1-py2. 5.egg/zope/ server/ serverchannelba se.py", line 207, in service gary/launchpad/ lp-sourcedeps/ eggs/zope. server- 3.6.1-py2. 5.egg/zope/ server/ http/httptask. py", line 71, in service channel. server. executeRequest( self) gary/launchpad/ lp-sourcedeps/ eggs/zc. zservertracelog -1.1.5- py2.5.egg/ zc/zservertrace log/tracelog. py", line 114, in executeRequest n(env, start_response) gary/launchpad/ lp-sourcedeps/ eggs/zope. app.wsgi- 3.6.0-py2. 5.egg/zope/ app/wsgi/ __init_ _.py", line 58, in __call__ errors= handle_ errors) gary/launchpad/ lp-sourcedeps/ eggs/zope. publisher- 3.10.0- py2.5.egg/ zope/publisher/ publish. py", line 142, in publish .beforeTraversa l(request) gary/launchpad/ lp-branches/ devel/lib/ canonical/ launchpad/ webapp/ publication. py", line 167, in beforeTraversal .begin( )
task.service()
File "/home/
task.service()
File "/home/
self.
File "/home/
response = self.applicatio
File "/home/
request = publish(request, handle_
File "/home/
publication
File "/home/
transaction
The transaction.begin method performs an abort if a previous transaction exists, as you can see in transaction/ _manager. py.
If I understand correctly, then, we are already doing what you are suggesting, Jeroen. Could you confirm or deny?
On the bright side, if someone can identify what *does* need to happen, this point in beforeTraversal would probably be a reasonable place to do it.