[ZODB-Dev] Invalidation message question

Luis Machado luis.machado at mandioca.tzo.com
Sun Nov 28 04:11:22 EST 2004


I have an application that writes every 10 seconds or so to the database
using ZEO and ClientStorage. The root object is an IOBTree and the key
is a time stamp in seconds. 

Each object of the IOBTree is another IOBTree, but I don't think that
this matter.

I have another client connected to the same ZEO server asking for the
last key of the root object, which is an IOBTRee.

I'm using last_key = rootObject.maxKey(). The first time I execute this
sentence, it works fine. If I execute the same sentence again after the
other application has added a new (key,value) pair to the root object, I
get the same value. If I run last_key = rootObject.maxKey() in a loop, I
always get the same value, even after the other application has added
many new (key,value) pairs to the database.

Of course, if I disconnect the application that reads from the database
and reconnect it again, then I get the right value.

Looks like that the ZEO server is not sending the invalidation message
each time a new (key,value) pair is added to the database.

Maybe is worth to mention that the file with the data can be very big, 2
GB or more. 

Any help will be appreciated.

Any other way that the client can read only the last (key,pair) added to
the database ?

Thanks,

Luis




More information about the ZODB-Dev mailing list