[ZODB-Dev] ZEO.ClientStorage replication: invalidations don't work
Dieter Maurer
dieter at handshake.de
Thu Jan 26 14:08:44 EST 2006
Mihai Ilinca wrote at 2006-1-26 15:10 +0200:
> ...
>Trough 'slave' I only do read operations at the moment. If I make changes to
>the stored data trough the 'main' client, the 'slave' clients don't see it.
>They only see the data as it was when the ClientStorage was constructed. If I
>restart a 'slave' (the class gets constructed again), the changes are
>visible. Basically, it's like having no Invalidation system whatsoever.
>
>What am I doing wrong here?
You are running the "asyncore" main loop in a separated thread?
If not, a client storage processes invalidation messages only
when used. Often the necessary objects are already in the ZODB cache
and the storage is not used.
Also note that you will see changes only at transaction boundaries.
Inside a transaction, you will never see any changes.
> ...
>"/home/packages/devel/binary/zodb/zodb3-3.4.0/debian/python2.4-zodb3/usr/lib/python2.4/site-packages/ZEO/ClientStorage.py"
> , line 79, in __getattr__
> ZEO.Exceptions.ClientDisconnected
The ZEO connection was closed.
--
Dieter
More information about the ZODB-Dev
mailing list