[ZODB-Dev] Push invalidated records to ZEO clients

Roché Compaan roche at upfrontsystems.co.za
Tue Jul 22 22:31:44 EDT 2003


* Roché Compaan <roche at upfrontsystems.co.za> [2003-07-22 15:56]:
> Hi everybody
> 
> Last time we talked about this, pipelining updates to ZEO clients was
> suggested. Just to refresh your memory - we still have the slow
> connection between SA and Germany ;-) and are using ZEO clients with
> large local caches to help remedy this.
> 
> So until all the clever replication strategies are implemented I thought
> to pursue my idea of forcing loads on all client caches (except the
> currently connected one) immediately after an oid is invalidated. I had
> a look at the code and it seems that all I have to do is to insert 
> 
>     self.load(oid, version=version)
> 
> on line 821 in the invalidateTrans method of ClientStorage.py after:
> 
>     self._db.invalidate(oid, version=version)
> 
> D'you think this will work?

Just realised that I am quoting code in ZEO 2.0.1b2 and that the ZEO
package in the latest ZODB release uses _processTransactions to
invalidate the cache. But it should be clear what I am trying to do.
Basically I want to call 'load' in a ClientStorage when the server makes
the callback to 'invalidatTrans'.

-- 
Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za



More information about the ZODB-Dev mailing list