Op 28-02-11 16:34, Martijn Pieters schreef:
> On Mon, Feb 28, 2011 at 16:22, Hanno Schlichting<ha...@hannosch.eu> wrote:
>> Blobs are considered experimental in ZODB 3.8. Especially the entire
>> blob cache changed completely for ZODB 3.9.
>> I think you might want to upgrade to Plone 4 and ZODB 3.9 to get a
>> stable environment. Or you'll likely run into more problems.
Thanks for the advice, Hanno, also on the plone-dev list. This is the
first time I have read such a clear warning against using blobs in Plone
3 though (same for Zope 2.10.x I guess).
http://plone.org/products/plone.app.blob also gives no clear warning.
What do others think?
I concur that the combination with relstorage could be less stable, with
some more bugs that need to be ironed out, at least in the blob cache.
Looks like most of that part of the RelStorage code was directly copied
from a more ZODB3 version though, at least according to a comment in
> Actually, RelStorage has it's own cache cleanup code for the
> database-stored blobs scenario. And by the looks of it, it does
> trigger a blob cache cleanup (in a separate thread) during blob load.
> Maurits, see blobhelper.py, BlobHelper.download_blob calls
> BlobCacheChecker.loaded with check=True (the default). Try calling it
> with check=False instead.
That works: the blobs stay. But then it looks like the blob cache size
is only checked once when starting up the zope instance. For example
with a blob cache size of 100,000 bytes and two images of about 65K and
one of about 1MB, I don't see any blobs getting removed from the cache
while visiting those images or pages that show them.
Maurits van Rees
Web App Programmer at Zest Software: http://zestsoftware.nl
Personal website: http://maurits.vanrees.org/
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org