We need to include a database along with our Java-based desktop application, and for deployment/maintenance reasons, an embedded database would be ideal.  I’m evaluating whether derby will suit our needs, and so far I really like what I see.  However, some colleagues have told me that they had evaluated derby in the past (a few months ago), and that they passed on it after seeing memory leak problems which resulted in OutOfMemoryException.  The application may need to run for a long time, and may generate a very large amount of data, therefore, a recurring memory leak is a showstopper.  I wanted to give Derby another look before moving on.


I looked through JIRA to try to identify bugs related to memory leaks.  I found:


DERBY-756 (fixed; reported against, but doesn’t say which version the fix is applied to)



I skipped over these because they appear to be client/server (please correct me if I’m wrong):





I also browsed the derby-user list, but didn’t find anything substantive.  So, on to my questions:


How stable, robust, and well-tested is derby?  How often do critical bugs find their way into production releases (please include “memory leaks” in the definition of critical)?  How long does it take for bugs such as the above to make their way into a production release, and when could I reasonably expect these two to be available for production?  Are there other outstanding memory/leak related bugs which I’m not aware of?  Would you recommend Derby for my project?




Jim Newsham