[elephant-devel] Cannot allocate memory

Ben ben at medianstrip.net
Wed Feb 23 23:39:03 UTC 2005


Hello Kind Users,

Sorry for the radio silence but Andrew and I have both been swamped
with work.

1) I will check in soon work which makes elephant work with SBCL and
unicode, fixes various MOP problems, upgrades to sleepycat 4.3, using
the new sequences and degree-2 isolation.  this should fix some (but
not all) of the lock problems.

2) Eventually this will get rolled into a real release.

3) I am happy to try to help squash bugs et al but time is short for
me right now.  I'm happy to accept patches as well.  Your efforts
testing and debugging would be much appreciated.

About this lock issue: Gabor Melis has also reported issues with
locks.  I'm not quite sure what it is.  Can you send your test code or
describe the sorts of things it is doing?  Does the issue remain if
you close and reopen the store inbetween iterations of the test?

I've discovered myself some very strange SBCL gc behavior.  After some
intense db action sometimes my SBCL goes into a very prolonged GC (so
it appears).  Let me know if you run into this problem, or if it some
artifact of FreeBSD / SBCL.

Take care, B

On Wed, 23 Feb 2005, Robert L. Read wrote:

>
> Forgive an uneducated and probably irrelevant response, but I got the
> same error when I
> was accidentally opening a separate connection in each of my tests.  I
> was creating several dozens
> or hundreds of store controllers, I think.  When I solved that problem,
> I don't thnk this has
> reoccurred for me.
>
> Forgive my not being able to be more specific.
>
>
> On Wed, 2005-02-23 at 17:44 +0100, Walter C. Pelissero wrote:
>
>> Looks as I've been hitting some DB limit but I haven't found out which
>> one.
>>
>> At the 376th iteration of a stress test I got a sleepycat:db-error
>> (Berkeley DB error: Cannot allocate memory).  Each test iteration is
>> wrapped in a transaction, so I really don't understand what is
>> consuming Sleepycat DB resources.
>>
>> If I had to guess from "db_stat -c" I'd say I'm running out of locks:
>>
>>   360% db_stat-4.2 -c
>>   18      Last allocated locker ID.
>>   2147M   Current maximum unused locker ID.
>>   9       Number of lock modes.
>>   1000    Maximum number of locks possible.
>>   1000    Maximum number of lockers possible.
>>   1000    Maximum number of lock objects possible.
>>   1004    Number of current locks.
>>   1005    Maximum number of locks at any one time.
>>   10      Number of current lockers.
>>   11      Maximum number of lockers at any one time.
>>   576     Number of current lock objects.
>>   897     Maximum number of lock objects at any one time.
>>   5305968 Total number of locks requested.
>>   5296499 Total number of locks released.
>>   0       Total number of lock requests failing because DB_LOCK_NOWAIT was set.
>>   0       Total number of locks not immediately available due to conflicts.
>>   0       Number of deadlocks.
>>   0       Lock timeout value.
>>   0       Number of locks that have timed out.
>>   0       Transaction timeout value.
>>   0       Number of transactions that have timed out.
>>   360KB   The size of the lock region..
>>   0       The number of region locks granted after waiting.
>>   5331227 The number of region locks granted without waiting.
>>
>> Is that right?  If so, how am I supposed to limit the number of locks
>> held by my code/elephant?
>>
>



More information about the elephant-devel mailing list