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