You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2021/07/08 14:09:00 UTC
[jira] [Resolved] (CALCITE-4676) Avatica client leaks TCP
connections
[ https://issues.apache.org/jira/browse/CALCITE-4676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Istvan Toth resolved CALCITE-4676.
----------------------------------
Resolution: Fixed
Committed.
Thanks for the help with the reviews and committing [~elserj] and [~krisden].
> 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
> Priority: Major
> Fix For: avatica-1.19.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> 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)