[Perl] MLDBM problem

Offer Kaye oferk at oren.co.il
Sun Oct 27 23:30:27 PST 2002


>
> I use MLDBM module for cache in apache env and on heavy load
> get error:
> 'MLDBM error: Second level tie failed, "No locks available"'.
> Error "No locks available" actually printed by GDBM_File module.
> Is there any way to increase num of locks ( or other way to
> solve problem )?
>
> Thanks
> Pinkhas
>
>

Similiar questions seem to have come up in the mod_perl mailing list, so you
might want to try posting your question there:
http://perl.apache.org/maillist/modperl.html

Searching the archive of that mailing list might also be of some help:
http://www.mail-archive.com/modperl@apache.org/maillist.html

This text from the MLDBM page (Warnings section) might have some bearing on
your problem:
"Many DBM implementations have arbitrary limits on the size of records that
can be stored. For example, SDBM and many ODBM or NDBM implementations have
a default limit of 1024 bytes for the size of a record. MLDBM can easily
exceed these limits when storing large data structures, leading to
mysterious failures. Although SDBM_File is used by MLDBM by default, it is
not a good choice if you're storing large data structures. Berkeley DB and
GDBM both do not have these limits, so I recommend using either of those
instead."

Using MLDBM::Sync
(http://search.cpan.org/author/CHAMAS/MLDBM-Sync-0.30/Sync.pm) might be of
help. Some of the advice in "mod_perl tuning"
(http://search.cpan.org/author/DOUGM/mod_perl-1.27/mod_perl_tuning.pod)
might also help you.

Hope this helps :-)
Offer Kaye




More information about the Perl mailing list