Retained Heap By ReplicatedMemorySwap Instance Causing OutOfMemory Exceptions (Doc ID 1500791.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle Weblogic Server - Version 9.2.4 to 12.1.1.0
Information in this document applies to any platform.

Symptoms

 

An application consisting of EJB stateful beans is deployed into a  WLS cluster  (10.3.5 version).

This EJB Stateful  uses in-memory replication  with the following configuration :

 

<weblogic-enterprise-bean>
<ejb-name>StatefullPhySessionBean</ejb-name>
<stateful-session-descriptor>
<stateful-session-cache>
<max-beans-in-cache>200</max-beans-in-cache>
<idle-timeout-seconds>86400</idle-timeout-seconds>
<cache-type>LRU</cache-type>
</stateful-session-cache>
<stateful-session-clustering>
  <home-is-clusterable>true</home-is-clusterable>
   <replication-type>InMemory</replication-type>
</stateful-session-clustering>

<allow-concurrent-calls>false</allow-concurrent-calls>
</stateful-session-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
</weblogic-enterprise-bean>

 

 While invoking  the Stateful Session beans , slowly the Java Heap Memory  increase  . And, as a consequence,  OutOfMemoryError exceptions occur .

Heap Dumps show that  weblogic.ejb.container.swap.ReplicatedMemorySwap instance (previousVersionMap and secondaryBeanMap data fields)   related to the Stateful bean is retaining most of the memory. 
  
 
 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms