[ZODB-Dev] Empty client cache with beforestorage or demostorage?

Jeff Shell jeff at bottlerocket.net
Tue Sep 18 22:03:00 UTC 2012


We use the combination of 'beforestorage' (zc.beforestorage) and 'demostorage' for development and some testing. For most development, we've been using a local set of ZEO servers built off of backups of production databases, with desktop development changes going into a 'Changes.fs' local filestorage. This has generally worked out fine, and we've started using this practice with a new 'beta' server for some customers that connects to the production ZEO server, but puts changes (again) into a local Changes.fs file.

For desktop development this has worked quite well, but I've noticed that when starting up our Zope 3-ish servers I'd see "No verification necessary -- empty cache" messages when connecting to ZEO. But performance was always fine since most of the ZEO loads were small and local.

In our new beta setup, however, there seems to be quite a performance impact. Even when configured with a large ZEO client cache for our base/'before' storage setup, some page loads were taking achingly long times and then would appear to be fine. I decided to look at the ZEO client cache file in a hex dump and noticed that it was nothing but zeros (null bytes).

Is there a way to configure the demostorage/beforestorage setup so that the client cache can still get populated? This is what our setups look like:

<zodb>
  cache-size 25000

  <demostorage>
    <before base>
      before now

      <zeoclient>
        cache-size 800MB
        client example
        read-only true
        server zeo.example.com:8888
        storage example
        var /home/blah/projects/example/parts/zeoclient
      </zeoclient>
    </before>
    <filestorage changes>
      path /home/blah/projects/example/skiutah/var/db/Changes.fs
    </filestorage>
  </demostorage>
</zodb>

Or is the non-touching of the client cache just an artifact of one or both of these extra storages (beforestorage or demostorage)?

Thanks,
Jeff Shell
jeff at bottlerocket.net



More information about the ZODB-Dev mailing list