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)