[Zope-dev] _v_ and ZEO

Toby Dickenson tdickenson@geminidataloggers.com
Thu, 18 Apr 2002 18:24:01 +0100


On Thu, 18 Apr 2002 16:23:15 +0000 (UTC), Florent Guillaume
<fg@nuxeo.com> wrote:

>This reminds me of a question I had: given that (from what I understand)
>_v_ attributes only live in the object cache of a given Zope,

True, and more accurate that I think you expected....

The issue is that one Zope has more than one ZODB object cache, even
without ZEO. There is one per worker thread. Each cache has
independant _v_ attributes

>Here I'm thinking specifically of LDAPUserFolder. Suppose a user hits
>ZEOclient1, which caches in _v_* his info. Then the same user hits
>ZEOclient2 and changes some info in LDAP. This new info is cached on
>ZEOclient2. When the user goes back to ZEOclient1, he will see old data.

yes.

Ive never looked at LDAPUserFolder so this may be irrelevant, but is
it possible for LDAPUserFolder to validate that the cached _v_
information is still fresh? If that validation is quicker than
fetching a new copy then this is still an overall win.

>Should _v_ never be used like that ?

If data consistency is an absolute requirement, then you *have* to hit
some shared storage on every transaction.



Toby Dickenson
tdickenson@geminidataloggers.com