G'day fanasy,

[Disclaimer: I'm not a user of DBM::Deep. The following are just suggestions.]

Instead of kill, which sends a kill -KILL signal, try gentler methods of termination. Some suggestions: kill -QUIT; kill -HUP; kill -TERM.

$@ could be modified before the code gets to the if block. Try writing your eval like this:

eval { ... $db->commit; 1; } or do { say $@ if length $@; $db->rollback; };

[Note: If you have Perl 5.12 or later, "length (v5.12.0)" handles the defined for you.]

Check through the DBM::Deep for possible solutions. You didn't give much information in your OP. If, for instance, you're using large files, the "LARGEFILE SUPPORT" section may prove useful. Check other sections, as appropriate.

Check "Active bugs for DBM-Deep" for problems similar to yours: there may be solutions or workarounds. "Bug #130395 for DBM-Deep: Fail gracefully when database hits max size" looked like it might be similar to your problem; although, that's just a report with no fix, solution or workaround.

I do note that active bugs have been posted over 13 years but not a single one has an entry in the "Fixed in" column. Also, this module has not been updated in almost three years; I wouldn't hold your breath for fixes to any of them.

— Ken


In reply to Re: DBM::Deep: Cannot allocate transaction ID by kcott
in thread DBM::Deep: Cannot allocate transaction ID by fanasy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.