directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lécharny <>
Subject Re: JDBM + MVCC LRUCache concern
Date Wed, 04 Apr 2012 23:09:47 GMT
Le 4/5/12 12:43 AM, Selcuk AYA a écrit :
> On Wed, Apr 4, 2012 at 3:22 PM, Emmanuel Lécharny<>  wrote:
>> It's systematic, and I guess that the fact we now pond the RdnIndex table
>> way more often than before (just because we don't call anymore the
>> OneLevelIndex) cause the cache to get filled and not released fast enough.
> do we hold a cursor open while this code gets stuck? I would think we
> hold a cursor open and moduify quite a bit of jdbm btree pages for
> this kind of behavior to happen.

I'll check that.
>> As we don't set any size for the cache, its default size is 1024. For some
>> of the tests, this mightnot be enough, as we load a lot of entries
>> (typically the schema elements) plus many others that get added and removed
>> while running tests in revert mode.
>> If I increase the default size to 65536, the tests are passing.
>> Ok, now, I have to admit I haven't - yet - looked at the LRUCache code, and
>> my analysis is just based on what I saw by quickly looking at the code, the
>> stack traces I have added and some few blind guesses.
>> However, I think we have a serious issue here. As far as I can tel, the code
>> itself is probably not responsible for this behaviour, but the way we use it
>> is.
>> Did I missed something ? Is there anything we can do - except increase the
>> cache size - to get the tests passing fine ?
>> I'm more concern about what could occur in real life, when some users will
>> load the server up to a point it just stop responding...
>   to aovid this issue, we can let the writers allocate more cache
> pages(rather than keeping the cache size fixed) so that they do not
> loop waiting for a replaceable cache. However, I would again suggest
> making sure we do not forget the cursor open. If we forget a cursor
> open and keep allocating new cache pages for writes, we will have
> other problems.
Yeah, I can see how it may affect the tests. I'll definitively 
investigate this first, before going any further in another direction.

ATM, I'm using a not committed version of JDBM were the default cache 
size has been changed.

Thanks a lot Selcuk !

Emmanuel Lécharny

View raw message