glwtta has asked for the wisdom of the Perl Monks concerning the following question:
I've introduced a Cache::BerkeleyDB based caching mechanism into a web application I'm working on, and it seems to work fine at first, but breaks down when I give it a bit more data.
I have an expensive computation that pre-loads the cache with about 20,000 values. Running it reproduceably wedges the bdb database:
Can't create BerkeleyDB::Env (home=/data/webdata/cache): DB_RUNRECOVERY: Fatal error, run database recovery at /apps/perl-5.8.6/lib/site_perl/5.8.6/Cache/BerkeleyDB_Backend.pm line 29, <DATA> line 225.
Running the exact same query with a smaller input works fine. This is under mod_perl, but I have been testing it with a single httpd process, so I don't think it's a concurrency issue.
Any idea where I should look to solve this?
In the meantime I've been using Cache::File instead, but both the performance and space-efficiency are unacceptable (I think it would be ok on something like reiserfs, but I'm stuck on ext3). Because of the size of the data memory based caches won't work for me, so BDB was really the all-around best solution; if I can't get this working I'll have to go to a relational database, and I'd rather avoid the hassle.
Thanks in advance.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Cache::BerkeleyDB Problems
by kvale (Monsignor) on May 10, 2006 at 03:55 UTC | |
by glwtta (Hermit) on May 10, 2006 at 22:59 UTC | |
by glwtta (Hermit) on May 10, 2006 at 23:34 UTC | |
Re: Cache::BerkeleyDB Problems
by PodMaster (Abbot) on May 10, 2006 at 18:08 UTC | |
by glwtta (Hermit) on May 10, 2006 at 22:57 UTC | |
Re: Cache::BerkeleyDB Problems
by perrin (Chancellor) on May 10, 2006 at 20:31 UTC |