Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Blog / Migrating a blobstorage

Migrating a blobstorage

by Ross Patterson last modified Dec 02, 2010 12:44 AM
Addressing the "ZODB.blob WARNING (PID) The `lawn` blob directory layout is deprecated due to scalability issues on some file systems, please consider migrating to the `bushy` layout." warnings.

Update: Filed a ZODB bug.

I've been getting he following log message ever since I migrated to ZODB BLOBs:

ZODB.blob WARNING (PID) The `lawn` blob directory layout is deprecated due to scalability issues on some file systems, please consider migrating to the `bushy` layout.

It's not obvious what to do about this, even after initial googling, so I thought I'd document it. Firstly, we need to use the ZODB.scripts.migrateblobs script so create a console script for it that has all the necessary eggs available. Unfortunately, the ZODB3 egg doesn't define a console_scripts entry point for this script so I used zc.recipe.egg to work around this:

[buildout]
...
parts +=
    zeo
...
    migrateblobs
...
[migrateblobs]
recipe = zc.recipe.egg
eggs = ZODB3
entry-points = migrateblobs=ZODB.scripts.migrateblobs:main

After re-running buildout and shutting down ZEO, I used the generated script to migrate the blobstorage:

$ mv var/blobstorage var/blobstorage-lawn
$ bin/migrateblobs var/blobstorage-lawn/ var/blobstorage
(PID) Blob directory `var/blobstorage-lawn/` has layout marker set. Selected `lawn` layout.
(PID) The `lawn` blob directory layout is deprecated due to scalability issues on some file systems, please consider migrating to the `bushy` layout.
(PID) Blob directory '.../var/blobstorage/' does not exist. Created new directory.
(PID) Blob temporary directory 'var/blobstorage/tmp' does not exist. Created new directory.
Migrating blob data from `var/blobstorage-lawn/` (lawn) to `var/blobstorage` (bushy)
        OID: 0x###### - 1 files
...

Now I'm able to fire up ZEO and I can access AT file and image objects fine without the log warning.

Navigation
OpenID Login

Contact

me@rpatterson.net

IRC: zenwryly@irc.freenode.net
plone.org: rossp
GTalk: mer@patterson.net
Yahoo IM: patterson_ross
AIM: rosspatters
MSN: me@rpatterson.net
Skype: merpattersonnet

PO Box 7775 #10587
San Francisco, CA
94120-7775

Phone
+1 (415) 894-5323