[Zope] Preventing duplicates in ZCatalog

Oliver Bleutgen myzope@gmx.net
Wed, 23 Apr 2003 15:20:16 +0200


Wankyu Choi wrote:
> [snip]
> But visiting an article like the following still duplicates entries in the
> board's built-in catalog:
> 
> /Board/a_1			-> /a_1
> /Board/Board/a_1		-> /Board/a_1
> /Board/Board/Board/a_1		-> /Board/Board/a_1
> ...

Another remark, there really shouldn't be links which point insert _any_ 
unnecessary acquisition, like /Board/Board/Board , because it could lead 
to infinite recursion.

> I think removing **all** instances of the container's id when catalogging
> article objects should work. Currently, only the first instance is being
> removed. I just didn't think acquisition would wreak this much havoc when
> misused :-(

You should see what happens if you have made the above mentioned mistake 
and a spider/crawler hits your side. Google's 16.000 machines vs. your 
server, guess who looses ;) - ok, it's not that bad, but shit can hit 
the van.
I had recently some "expert" on a big pipe trying to bulk download a 
website we host and causing more traffic in one hour than we normally 
get in a whole day because of this recursion. I think it just stopped 
when the request URI got too long for his client or it crashed. Zope 
stood like a wall ;).

Everyone look out for things like "Fetch API REQUEST" in your logs.

cheers,
oliver