[ 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)