You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2021/07/05 09:16:00 UTC
[jira] [Created] (CALCITE-4676) Avatica client leaks TCP
connections
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)