ReferenceMap$Entry keeps growing over period of application usage.
------------------------------------------------------------------

         Key: OJB-44
         URL: http://issues.apache.org/jira/browse/OJB-44
     Project: OJB
        Type: Bug
  Components: PB-API  
    Versions: 1.0.3    
 Environment: Windows 2000 Professional, Jboss (3.2.5)
    Reporter: Srikanth R


We are using OJB in one of our application which is very much database 
intensive. When we put the application under load testing, the memory kept on 
growing and at one stage, the application became very slow as there was hardly 
any memory left on the machine. We were forced to re-start the app server.

On putting the application under a profiler, we observed that, the 
"ReferenceMap$Entry" kept on growing in size. Also we saw some of our 
application specific objects in memory as it was not released to the garbage 
collector. We changed the "AnonymousPersistentField.java",  to wrap the value 
as a weak reference. The code snippet is given below:

protected void putToFieldCache(Object key, Object value)
{
  ...
  fkCache.put(key, new WeakReference(value));
  ...
}
Similarly the "getFromFieldCache" is changed to un-wrap the value.
Ideally the memory should come down to the original value after each 
transaction.

After doing these changes, we found NO references to our application specific 
objects in the memory but still "ReferenceMap$Entry" kept growing in size.

Let me know if the fix is a correct one and how to clear of 
"ReferenceMap$Entry". 

We are using "org.apache.ojb.broker.cache.ObjectCachePerBrokerImpl" as the 
caching implemetation and the broker is closed at the end of the transaction.

Thanks,
Sriki


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to