[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:46:00 EDT 2020


     [ https://issues.redhat.com/browse/TEIID-5939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manoj Majumdar updated TEIID-5939:
----------------------------------
    Description: 
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}
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.


  was:
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.




> 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
>
> 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}
> 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