You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Eric Pai (Jira)" <ji...@apache.org> on 2021/08/16 03:52:00 UTC

[jira] [Created] (IOTDB-1568) [Distributed] SendHeartbeat may be blocked by client reconnection

Eric Pai created IOTDB-1568:
-------------------------------

             Summary: [Distributed] SendHeartbeat may be blocked by client reconnection
                 Key: IOTDB-1568
                 URL: https://issues.apache.org/jira/browse/IOTDB-1568
             Project: Apache IoTDB
          Issue Type: Improvement
          Components: Cluster
            Reporter: Eric Pai


See the implemention HeartbeatThread.sendHeartbeatSync:

 

For a given node, the heartbeat sent process contains two steps:
 # Acquire a client instance from the syncHeartbeatClientPool(SyncClientPool)
 # Submit the sent request procedure to a thread pool to execute in parallel.

 

However, if the node is offline but the status recorded in local is actived, step 1 will block in trying to establish the TCP connection until connection timeout. This will block the following heartbeat broadcast, and some followers will not receive heartbeat in time, thus a new but unnecessary election will start. The whole cluster may be in an unstable status.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)