You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Karolos Antoniadis (JIRA)" <ji...@apache.org> on 2019/08/02 04:01:00 UTC

[jira] [Created] (ZOOKEEPER-3485) Measure reconfiguration time

Karolos Antoniadis created ZOOKEEPER-3485:
---------------------------------------------

             Summary: Measure reconfiguration time
                 Key: ZOOKEEPER-3485
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3485
             Project: ZooKeeper
          Issue Type: Improvement
    Affects Versions: 3.5.5
            Reporter: Karolos Antoniadis


This issue is created after some initial discussion in the _dev_ mailing list (subject "Leader election logging during reconfiguration").

 

There does not seem to be a good way to measure reconfiguration time in ZooKeeper. Additionally, reconfiguration time is mixed together with leader election time*.* For instance, during reconfiguration, ZooKeeper logs a  {{LEADER ELECTION TOOK}} message even though no leader election might takes place.
  
 This can be reproduced by following these steps:
 1) start a ZooKeeper cluster (e.g., 3 participants)
 2) start a client that connects to some follower
 3) perform a _reconfig_ operation that removes the leader from the cluster
  
 After the reconfiguration takes place, we can see that the log files of the remaining participants contain a "_LEADER ELECTION TOOK_" message. For example, a line that contains
 _2019-07-29 23:07:38,518 [myid:2] - INFO  [QuorumPeer[myid=2](plain=0.0.0.0:2792)(secure=disabled):Follower@75] - FOLLOWING - LEADER ELECTION TOOK - 57 MS_
  
 However, no leader election took place, in the sense that no server went _LOOKING_ and then started voting and sending notifications to other participants as would be in a normal leader election. It seems, that before the _reconfig_ is committed, the participant that is going to be the next leader is already decided (see here: [https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Leader.java#L865]).
  

*Goal* of this issue/improvement is to measure in a better and more accurate way the time it takes for a reconfiguration to complete, as well as, to clearly distinguish the measurement of reconfiguration versus leader election.


  
  
  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)