logo       

Re: RE: [Plone-developers] Plone 1.1 - TODO: msg#00051

web.zope.plone.archetypes.devel

Subject: Re: RE: [Plone-developers] Plone 1.1 - TODO

On Mon, 09 Jun 2003 11:06:26 -0700,
<sean.upton-lttx/tDbukJF6kxbq+BtvQ@xxxxxxxxxxxxxxxx> wrote:

The current system uses time and the id; with the exception of index_html as
an id, the chance of a collision is pretty low in a well-designed CMS
deployment.

Creating a UID on a pattern than occurs 86400 times a day isn't my idea of a low collision possibility. In some cases the probability of a collision is exactly 1. (Creating objects from a scheduled task. Ouch ouch ouch.)

Doesn't have to be index_html either. Any ID in common use is going to cause problems. My favourite is portrait.jpg which all 450000 users in my test system have. Oops. ;-)

I think one naming scheme could likely involve the thread-id of the creating
thread. When the UID is created, the id of the thread that creates it gets
the first few part of the UID string, followed by a dash, followed by the
results from time.time() - which would prevent the possibility of UID name
collision between multiple threads, and also increase thread/bucket affinity
in a refs BTree, at least in the creation of objects (which is likely
biggest potential source of conflict-errors).

That gets a big resounding cheer from me, and would clear up the only real thing that prevents references from being of any use to me at the moment.

--
Seb Potter
Lead Developer
Getfrank Limited



-------------------------------------------------------
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise