We have a managed connection pool with maximum of 30 connections and we monitor it from the vertica side. There is no connection leak.
We noticed the following as the root cause of a memory leak in our tomact server:
- As the application continues to run the size of the member m_DatabaseMetaData of this class (which is an ArrayList) continue to rise.
- The elements of this collection are of type com.vertica.jdbc.SDatabaseMetaData
- The size of the list seems unbounded and can reach hundred thousands of elements
- Throwing away the connection and creating a new one solves the problem
We would like to know:
What is the purpose of these hash tables? Why are they continue to grow?
What can be done on our side to eliminate this? Can we use some connection parameter to disable this?
Can you say if 6.1.3 solves this?
We find closing the connection as a workaround in a connection pool when it is not idle an anti-pattern.
Thanks.