[teiid-issues] [JBoss JIRA] (TEIID-4815) How could I debug JDV memory allocation properly

Rafael Coutinho (JIRA) issues at jboss.org
Tue Mar 21 18:14:00 EDT 2017


    [ https://issues.jboss.org/browse/TEIID-4815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13381993#comment-13381993 ] 

Rafael Coutinho edited comment on TEIID-4815 at 3/21/17 6:13 PM:
-----------------------------------------------------------------

We got a heap dump and found out that this class was consuming 87% of the server memory:
SemaphoreArrayListManagedConnectionPool
That was managing an Oracle Datasource connection.
And searching the web I found this report:
https://access.redhat.com/solutions/742913

So we added that flag (maxCachedBufferSize) and have tested. It looks like the memory can get released.

Here is how our datasource is configured:
 {{
<datasource jndi-name="java:/ORACLE_DS" pool-name="ORACLE_DS" enabled="true">
                    <connection-url>jdbc:oracle:thin:@oracleserver:1010:dev</connection-url>
                    <driver>ojdbc6-11g.jar</driver>
                    <pool>
                        <max-pool-size>30</max-pool-size>
                    </pool>
                    <security>
                        <user-name>**</user-name>
                        <password>***</password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
                        <validate-on-match>true</validate-on-match>
                        <background-validation>true</background-validation>
                        <background-validation-millis>10000</background-validation-millis>
                    </validation>
                </datasource>
}}

Any other suggestions on configuring oracle datasources?



was (Author: rafael.coutinho):
We got a heap dump and found out that this class was consuming 87% of the server memory:
SemaphoreArrayListManagedConnectionPool
That was managing an Oracle Datasource connection.
And searching the web I found this report:
https://access.redhat.com/solutions/742913

So we added that flag (maxCachedBufferSize) and have tested. It looks like the memory can get released.

Here is how our datasource is configured:
 {{<datasource jndi-name="java:/ORACLE_DS" pool-name="ORACLE_DS" enabled="true">
                    <connection-url>jdbc:oracle:thin:@oracleserver:1010:dev</connection-url>
                    <driver>ojdbc6-11g.jar</driver>
                    <pool>
                        <max-pool-size>30</max-pool-size>
                    </pool>
                    <security>
                        <user-name>**</user-name>
                        <password>***</password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
                        <validate-on-match>true</validate-on-match>
                        <background-validation>true</background-validation>
                        <background-validation-millis>10000</background-validation-millis>
                    </validation>
                </datasource>}}

Any other suggestions on configuring oracle datasources?


> How could I debug JDV memory allocation properly
> ------------------------------------------------
>
>                 Key: TEIID-4815
>                 URL: https://issues.jboss.org/browse/TEIID-4815
>             Project: Teiid
>          Issue Type: Feature Request
>            Reporter: Rafael Coutinho
>            Assignee: Steven Hawkins
>         Attachments: Screenshot from 2017-03-17 17-54-24.png, Screenshot from 2017-03-17 18-14-50.png
>
>
> We hare having trouble with memory allocation on our JDV server (using Red Hat JBoss Data Virtualization - Version 6.3.0) for some reason memory gets allocated but never released.
> For simple queries memory increases just a little, however when we make complex joins etc, we are seeing scenarios with 20GB+ allocated heap. 
> I wonder if there is any inspection tool for debugging what is consuming it in JDV.
> Our main datasource is an Oracle DS, but we do have a MariaDB being used too. 



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the teiid-issues mailing list