Hi Chris,

I sympathize with you. I've been through my share of problems with
BerkeleyDB as well. So far, I haven't had problems using it with
mod_perl. I wrote a stress test tool[1] to prove to myself that
BerkeleyDB was indeed safe to use in concurrent processes. You can set
it to run as many processes doing as many inserts and reads as you would
like. You may want to run that against a copy of your database to see if
it exposes any errors.

My mod_perl setup is on a Windows 2000 system and seems to be stable. I
setup my environment in the same way that you are doing except that I
pass in -ErrFile to the BerkeleyDB::Env setup. You may want to try that
to see if it provides any more details for you.

The only other suggestion I would make is to try without the tied
interface if you don't have to change too much code. Since you're using
db_put, you could setup just the handle via the following:

    my $bdb  = new BerkeleyDB::Btree
        -Flags    => DB_CREATE,
        -Filename => $dbfile,
        -Env      => $env,
        or die "Cannot open file $dbfile: $! - '$BerkeleyDB::Error'\n";


Good luck and let us know if you find a solution,
William

[1] http://perlmonks.org/index.pl?node_id=330510

-- 
Knowmad Services Inc.
http://www.knowmad.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to