Application Continuity Consumes High Memory

(Doc ID 2340859.1)

Last updated on MARCH 11, 2018

Applies to:

JDBC - Version 12.1.0.2.0 and later
Information in this document applies to any platform.

Symptoms

Running a test with the JDBC replay driver(oracle.jdbc.replay.OracleDataSourceImpl), the used memory is seen to be much higher than the memory used by the non-replay driver.
The heapdump captured reports a huge number of the CallHistoryEntry objects being the top consumers:

3,697,404 instances of "oracle.jdbc.replay.driver.TxnFailoverManagerImpl$CallHistoryEntry",
loaded by "java.net.URLClassLoader @ 0xe004df60" occupy 710,018,816 (95.42%) bytes.
These instances are referenced from one instance of "oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory",
loaded by "java.net.URLClassLoader @ 0xe004df60"

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