[Zope] Problem with multiple Browser Id Managers

Dieter Maurer dieter at handshake.de
Sat Nov 19 13:55:50 EST 2005


Pablo Ziliani wrote at 2005-11-18 20:37 -0300:
> ... using the same "session data container" by various "session data manager"s ...
>However now my question is: can't this configuration lead to session 
>collisions, given that now I have multiple BIMs/SDMs making writes to 
>the same TrOC?

In principle, it could -- but with very low probability
and not more as when it is used with a single "session data manager":

   The "session data container" essentially is a map
   of session ids to session objects.

   Of course, if different requests get the same session
   id (which in fact is a browser id) they may get the same
   session object.

   Even a single browser id manager does not explicitely protect
   itself from handing out the same browser id twice.
   But the probability is very low indeed: the session
   id consists of a time stamp (second resolution, I think)
   and a 4 byte (pseudo) random number.
   Thus, to get the same browser id twice, the requests
   need to be within the same second and the pseudo random
   number generator must return the same number.


   *BUT* not sure whether the (pseudo) random number generator
   behaves well in the presence of multiple threads accessing
   it concurrently. It may well be that it delivers the same
   number for different threads accessing it concurrently
   which *MUCH* higher probability as one would expect...


-- 
Dieter


More information about the Zope mailing list