Istvan Toth created CALCITE-4676:
------------------------------------
Summary: Avatica client leaks TCP connections
Key: CALCITE-4676
URL: https://issues.apache.org/jira/browse/CALCITE-4676
Project: Calcite
Issue Type: Bug
Components: avatica
Affects Versions: avatica-1.18.0
Reporter: Istvan Toth
Assignee: Istvan Toth
The default Http client implmentation uses
org.apache.http.impl.conn.PoolingHttpClientConnectionManager to pool
connections, and does not close the TCP connections explicitly when the JDBC
connection is closed.
However, the http client pools are created *per JDBC Connection*, so the
pooling is effectively only used when concurrent statements are executed from
the same Connection object.
This also means that when the application opens and closes a lot of
Connections, then every Connection leaves behind active (typically in
CLOSE_WAIT) TCP connections, which are only cleaned up on GC.
This wastes resources, and eventually breaks the application, as connection
limits are reached.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)