Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
1.6.3
-
None
-
Ubuntu 12.04 and Ubuntu 14.04
Tomcat 7.0.57
JDK version : Zulu-7 7.20.0.3
Database : MariaDB 10.1.26
Driver version : 1.6.3
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.5.6.Final</version>
</dependency
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>5.1.3.Final</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>1.6.3</version>
</dependency
# Used by Connector/J to access Unix Domain sockets
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>4.2.2</version>
</dependencyUbuntu 12.04 and Ubuntu 14.04 Tomcat 7.0.57 JDK version : Zulu-7 7.20.0.3 Database : MariaDB 10.1.26 Driver version : 1.6.3 <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.1.4.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-search-orm</artifactId> <version>5.5.6.Final</version> </dependency <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-hikaricp</artifactId> <version>5.1.3.Final</version> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>1.6.3</version> </dependency # Used by Connector/J to access Unix Domain sockets <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>4.2.2</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>4.2.2</version> </dependency
Description
We have a servlet application running in Tomcat 7 that is leaking socket files. I have tracked it back to the idle timeout reaping of connections. The leaked socket fd count increases by exactly the number of connections in the hibernate.hikari.maximumPoolSize setting (20) at exactly the idle timeout reaping interval. This happens without the application logged in or doing anything. You can watch the /proc/$PID/fd directory and just see the file descriptor count increase. I will attach pom and other setup files for reference.
This only happens when using the connector/j jdbc driver with a url that uses unix domain sockets. It does not happen with regular TCP/IP connections to the localhost server. I believe that either the connector/j is leaving a leftover socket file open in the app when the connection is closed or that the particular usage from hibernate-hikaricp doesn't allow it to clean up that last connection piece.
Attachments
Issue Links
- relates to
-
CONJ-1007 Socket file descriptors are leaked after connecting with unix socket if DB is not up running
- Closed