Houliang Qi created IOTDB-1148:
----------------------------------
Summary: 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
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)