Retrying request with Retry exception doesn't work with views

Bug #111845 reported by Maciej Wisniowski
8
Affects Status Importance Assigned to Milestone
Zope 3
Status tracked in 3.4
3.2
Confirmed
Critical
Unassigned
3.3
Confirmed
Critical
Unassigned
3.4
Confirmed
Critical
Unassigned

Bug Description

When Retry (or ConflictError) exception is raised while visiting url which is a view like: http://localhost/f1/@@retryme request is not properly retried and NotFound exception is raised.
This was first reported by Sven Schomaker:
http://mail.zope.org/pipermail/zope3-dev/2006-July/019814.html

Under above link there is also a quick fix that solves the problem but as Sven said it is possibly not the best solution.

I've written a test that exposes this bug. I'll attach it to this bug report.
Test is not perfect so somebody possibly can refactor this. I was not sure how this kind of test should look so
I've created this as a standalone module. To execute test
just extract attached archive to lib/python, set zope3 environment variables and execute python ftests.py.

One important thing is that test first fails because of a bug in functional.py, so to see above bug with Retry exception
it is necessary to first resolve a bug from functional.py. It is described at:
http://mail.zope.org/pipermail/zope3-dev/2007-May/022444.html

Revision history for this message
Maciej Wisniowski (pigletto-gmail) wrote :

Test attached

Revision history for this message
Christian Theune (ctheune) wrote :

The whole retry issue seems to be untested. Boosting this to critical.

Revision history for this message
Thomas Herve (therve) wrote :

I think this is fixed in zope trunk (eg, http://svn.zope.org/zope.app.testing/trunk/src/zope/app/testing/functional.py?rev=83372&r1=75907&r2=83372 for the fix in functional.py).

Revision history for this message
Christophe Combelles (ccomb) wrote :

This is really a duplicate of #98440
The new request created for retrying is missing some interfaces of the original request. This leads to a lookup error on the current view, registered on a missing skin or layer.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.