[teiid-issues] [JBoss JIRA] (TEIID-5939) connection pool not destroyed after datasource deletion without server reload(java)

Manoj Majumdar (Jira) issues at jboss.org
Fri Apr 17 06:41:00 EDT 2020


Manoj Majumdar created TEIID-5939:
-------------------------------------

             Summary: 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


Hi Team,

Connection pool is not removed after deleting datasource from teiid using java code. Teiid(Jboss) server reload required to reflect the deletion of connection pool from actual database. Until server reload, connections in deleted datasource's connection pool remains in sleeep 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}
private AdminApiClientAccessor clientAccessor = AdminApiClientAccessor.getInstance();

public void deleteDataSource(String datasourceName) throws TDMTeiidException {	
		try {
			clientAccessor.getClient().deleteDataSource(datasourceName);
		} catch (AdminApiClientException 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