Memory leak issue with static basicWriteLockInfo
658136Sep 4 2008 — edited Jan 9 2009Hi,
I am using JE 3.3.69 and am seeing a memory issue that I do not see with JE 3.2.76. The application loads the database (filling the DB cache in the process), fully closes the environment, re-opens the environment, and then preloads databases until the DB cache of the new environment is full. What seems to be happening is that the the DB cache from the closed environment is never garbage collected and the preload causes an out-of-memory error since the heap is not big enough for two full caches.
I saw that there is a static field in WriteLockInfo referencing a database (through the abortDb field) and is thereby holding on to the objects that make up the DB cache of the closed environment.
static final WriteLockInfo basicWriteLockInfo =
new WriteLockInfo();
Should this static field belong to the environment instead?
Is there a work-around I can try?
Thanks,