[teiid-issues] [JBoss JIRA] (TEIID-5939) connection pool not destroyed after datasource deletion without server reload(java)
Steven Hawkins (Jira)
issues at jboss.org
Mon May 11 11:41:00 EDT 2020
[ https://issues.redhat.com/browse/TEIID-5939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on TEIID-5939 started by Steven Hawkins.
---------------------------------------------
> connection pool not destroyed after datasource deletion without server reload(java)
> -----------------------------------------------------------------------------------
>
> Key: TEIID-5939
> URL: https://issues.redhat.com/browse/TEIID-5939
> Project: Teiid
> Issue Type: Bug
> Components: AdminApi
> Affects Versions: 11.1.2
> Reporter: Manoj Majumdar
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 14.0
>
>
> Hi Team,
> Connection pool is not removed after deletion of datasource using java code.
> Teiid(Jboss) server reload required to reflect the deletion of connection pool from actual database(we are using mysql as database).
> Until server reloads, connections in deleted datasource's connection pool remain in sleep mode.
> *Pre-requisite*
> * Connection is created with the mysql database using teiid
> * Datasource is created in teiid.
> * Delete the above created connection through java using code i.e by using AdminApiClientAccessor.
> * That removed the datasource from teiid.
> * Through below code I am able to delete the datasource.
> *Java code*
> {code:java}
> import org.teiid.adminapi.Admin;
> ..
> private Admin admin; //assigned object to admin;
> ..
> ..
> public void deleteDataSource(String datasourceName){
> try {
> admin.deleteDataSource(datasourceName);
> } catch (Exception e) {
> logger.error(e);
> }
> }
> {code}
> datasourceName = name of the datasource created earlier.
> *standalone-teiid.xml*
> </xa-datasource>
> ..
> ..
> <xa-pool>
> <min-pool-size>3</min-pool-size>
> <max-pool-size>10</max-pool-size>
> <flush-strategy>IdleConnections</flush-strategy>
> </xa-pool>
> <validation>
> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
> <background-validation>true</background-validation>
> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
> </validation>
> </xa-datasource>
> *Issues :*
> * Even though datasource removed, connection pool is not destroyed
> * Able to see connection threads available on Mysql admin console using the command
>
> {code:java}
> show processlist;
> {code}
> * Changes reflect only when the Teiid (jboss) server is reloaded.
> * Once server reloads connections in connection pool is closed/removed from the database.
> * 'Too many connection' issue facing on mysql server due to multiple connection threads remains in sleep mode even though datasource are already removed.
> Please let us know :
> * Is there any method to remove connection pool from actual database.
> * Is server reload mandatory.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the teiid-issues
mailing list