Hi,

While profiling the server searching for memory leaks I found some problems in JDBM where it manages a free list (LinkedList of BlockIo elements). JDBM seems to grow this list and hold BlockIo objects with 8K chunks of buffers which are not freed when available memory is low. This leads to a large amount of memory consumption forcing the jvm to gc frequently which kills performance. Don't know how to fix this at the present moment but there's got to be a simple way to fix this problem.

Right now there's not much we can do but go into the the JDBM code to fix it. The JDBM community is virtually dead. There has been very little activity there. Rather than trying to get them to work on our issues I'd like to fork JDBM for these reasons:

1). It's tiny ~10K LOC
2). It can be optimized for ApacheDS' needs
3). The JDBM community developers can come here if they like
4). Don't think incubating JDBM will work because of the dead community
5). JDBM is BSD licensed which means we can fork it

Thoughts?

Alex

Reply via email to