guozhangwang commented on a change in pull request #9531: URL: https://github.com/apache/kafka/pull/9531#discussion_r520020029
########## File path: raft/src/main/java/org/apache/kafka/raft/QuorumState.java ########## @@ -21,18 +21,21 @@ import org.slf4j.Logger; import java.io.IOException; +import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Optional; import java.util.OptionalInt; import java.util.Random; import java.util.Set; import java.util.stream.Collectors; /** - * This class is responsible for managing the current state of this node and ensuring only - * valid state transitions. + * This class is responsible for managing the current state of this node and ensuring + * only valid state transitions. Below we define the possible state transitions and + * how they are triggered: * - * Unattached => + * Unattached|Resigned => Review comment: Okay now I remembered what we discussed before. What I was wondering is, say with quorum size 6, we would need 4 votes to elect leader; if the current leader shutdown and before it is restarted, the quorum size is 5 so logically we only need 3 votes --- but as long as we require that during this transition we still require 4 votes even with 5 alive quorum members we are fine. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org