You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Erwin Hogeweg <er...@me.com> on 2017/06/24 16:23:16 UTC

Fwd: [pax-jdbc-1.1.0] Is this a bug in the connection pool? - Reproducible

Cross-posting from ops4j groups because I suspect there is some pax-jdbc expertise here as well. 

Ignore if you think off-topic. 

Erwin
> All -
> 
> 
> 
> This is a follow-up on:
> 
> [pax=jdbc-1.1.0] 65k DB connections with pool of 25.
> [pax-jdbc] How to properly configure connection pool with mySQL
> After more experimenting I observed the following:
> 
> With an under configured connection pool in 1.1.0, as soon as the pool limits are reached, the pooled connections are dropped and from that point forward ea. query sets up a new connection. In addition to that every now and again the mechanism seems to spin out of control, and new connections are created at such a high rate that the OS runs out of ports and the following exception is thrown:
> 
> 
> 
> Internal Exception: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The driver was unable to create a connection due to an inability to establish the client portion of a socket.
> 
> This is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable.
> 
> 
> 
> I have rolled back to pax-jdbc-0.9.0 and everything appears to be stable again even when I intentionally under-configure the pool.
> 
> 
> 
> FWIW, these are my configurations:
> 
> 
> 
> pax-jdbc-0.9.0
> 
> osgi.jdbc.driver.class=com.mysql.jdbc.Driver-pool
> url=jdbc:mysql://10.0.1.188:3306/mydb 
> dataSourceName=jdbc/mynonjta 
> user=<user> 
> password=<password> 
> databaseName=mydb 
> 
> #Underconfigured to reproduce issue
> jdbc.pool.maxTotal=5
> jdbc.pool.maxIdle=5
> 
> 
> pax-jdbc-1.1.0
> 
> osgi.jdbc.driver.class=com.mysql.jdbc.Driver
> url=jdbc:mysql://10.0.1.188:3306/mydb 
> dataSourceName=jdbc/mynonjta 
> user=<user> 
> password=<password> 
> databaseName=mydb 
> pool=dbcp2
> 
> #Underconfigured to reproduce issue
> jdbc.pool.maxTotal=5
> jdbc.pool.maxIdle=5
> 
> 
> And this is the system:
> 
> mysql driver 5.1.40
> pax-jdbc-1.1.0 
> mySQL-5.7.17 
> Windows Server 2012 R2 
> Java-1.8.0_121
> 
> Regards,
> 
> 
> 
> Erwin