The ZODB blobstorage directory contains a .layout file with the string 'lawn', 'bushy'.
What is the difference between the various blob storage directory formats?
The ZODB blobstorage directory contains a .layout file with the string 'lawn', 'bushy'.
What is the difference between the various blob storage directory formats?
It is explained here: http://svn.zope.org/ZODB/trunk/src/ZODB/tests/blob_layout.txt?rev=101802&view=markup
FTA:
======================
Blob directory layouts
The internal structure of the blob directories is governed by so called
layouts
. The current default layout is calledbushy
.The original blob implementation used a layout that we now call
lawn
and which is still available for backwards compatibility.Layouts implement two methods: one for computing a relative path for an OID and one for turning a relative path back into an OID.
Our terminology is roughly the same as used in
DirectoryStorage
.
It also explains the formats in detail.
You generally don't need to worry about the layout; lawn
is there only for backwards compatibility.
If you do have a lawn
layout blobstorage (you'll get a warning in the log if you do) and want to migrate to a bushy
layout, use the migrateblobs script; here is a buildout part to create the script:
[migrateblobs]
recipe = zc.recipe.egg
eggs = ZODB3
entry-points = migrateblobs=ZODB.scripts.migrateblobs:main
Shut down any instances and ZEO servers, back up your blob storage and run the script on your blobstorage directory:
$ mv var/blobstorage var/blobstorage-lawn
$ bin/migrateblobs var/blobstorage-lawn/ var/blobstorage
var/blobstorage
will then contain the migrated blobs using the bushy
layout.