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)

Reply via email to