Hi www,
When adding my messages to CommitFest, I noticed that when I'm fast enough to click on the resulting link, I get a 404 page from mailing list archives, I guess if archives loader hasn't processed my message yet. This 404 result gets cached for a long time, so my message is not viewable even after links to it appear in archives.
It's not obvious to me why this happens... The view raises an exception, and the cache() decorator should never get around to setting HTTP cache headers because it lets the exception pass through.
@cache(hours=4)
def message(request, msgid):
try:
m = Message.objects.get(messageid=msgid)
except Message.DoesNotExist:
raise Http404('Message does not exist')
Another solution would be to somehow shoehorn a cache key into 404 result pages, but that smells of hack, since we'd need a different identifier from the usual "X-pgthreadid".
Regards,
Marti