[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