jsancio commented on code in PR #19416: URL: https://github.com/apache/kafka/pull/19416#discussion_r2050793867
########## raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java: ########## @@ -2435,8 +2434,18 @@ private boolean handleUpdateVoterResponse( responseMetadata.source(), currentTimeMs ); + if (handled.isPresent()) { + return handled.get(); + } else if (error == Errors.NONE || error == Errors.UNSUPPORTED_VERSION) { + FollowerState follower = quorum.followerStateOrThrow(); Review Comment: When KafkaRaftClient transitions it reset the request manager. Any RPC response that doesn't have a matching request in the request manager is [skipped](https://github.com/apache/kafka/blob/6e4e0df057012af986e5165d06a3d65bec908536/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java#L2741). The UpdateRaftVoter request is only sent while in the FollowerState so we expect the response to only be handle in the FollowerState. -- 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. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org