directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <>
Subject MRU in JDBM
Date Mon, 24 May 2010 11:47:38 GMT
Hi guys,

going deeper into the JDBM code, I'm currently reviewing the MRU class 
used into the CacheRecordManager. It has a few flaw I think we should 
correct (not that the code is wrong, but it can be sanitized. Here are 
the suggested fixes :
- it internally uses a Hashtable, a data structure considered as legacy. 
One first option would be to use a Map instead (not synchronized, less 
potential contention)
- it has a elements() method which returns an Enumeration on top of all 
the elements in the cache, used by the CacheRecordManager to determinate 
which element is dirty.
- it's not synchronized (however, the underlying storage is)

Otherwise, it's strictly a MRU where each updated element is moved to 
the top of the list, the oldest one being evicted. Some listeners can be 
called in this case.

Here, we may want to either use an external library (ehcache which is 
using an ASL 2.0 license?) Any other idea ?

Emmanuel L├ęcharny

View raw message