[
https://issues.apache.org/jira/browse/IOTDB-1148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Houliang Qi reassigned IOTDB-1148:
----------------------------------
Assignee: Houliang Qi
> Client leak in sync client pool
> -------------------------------
>
> Key: IOTDB-1148
> URL: https://issues.apache.org/jira/browse/IOTDB-1148
> Project: Apache IoTDB
> Issue Type: Bug
> Components: Core/Cluster
> Reporter: Houliang Qi
> Assignee: Houliang Qi
> Priority: Major
> Fix For: 0.12.0
>
> Attachments: image-2021-02-04-20-40-20-775.png
>
>
> When we use a 5-node, 3-replica cluster and repeat the following query 1000
> times, we will have the following warning log.
> _SELECT count(s_82) FROM root.group_10.d_10 WHERE time >= 1537375290000 AND
> time <= 1537377790000 AND root.group_10.d_10.s_82 > -5_
> This problem is caused by the following two reasons. When a filter query with
> timestamp and value is executed, if the query's timeseries does not exist
> locally, it will pull remote and put it into the local cache. The remote pull
> operation will get a client from the connection pool, but it will forget to
> put it back after use. Causes a client leak in the connection pool.
> At the same time, when judging whether timing exists locally, only mtree is
> judged, but not in the local cache, which aggravates the problem.
> To sum up, there are two problems as follows:
> 1. The connection in the client pool is leaked. Only the connection is
> created and not put back.
> 2. When judging whether the time sequence exists locally, the cache is not
> looked at.
> So as long as we solve the above two problems, we can solve this issue.
> !image-2021-02-04-20-40-20-775.png!
>
> This is because
--
This message was sent by Atlassian Jira
(v8.3.4#803005)