jsancio commented on code in PR #16454:
URL: https://github.com/apache/kafka/pull/16454#discussion_r1663328497


##########
raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java:
##########
@@ -1895,12 +2021,14 @@ private Optional<Boolean> maybeHandleCommonResponse(
             }
         } else if (error == Errors.BROKER_NOT_AVAILABLE) {
             return Optional.of(false);
-        } else if (error == Errors.INCONSISTENT_GROUP_PROTOCOL) {
-            // For now we treat this as a fatal error. Once we have support 
for quorum
-            // reassignment, this error could suggest that either we or the 
recipient of
-            // the request just has stale voter information, which means we 
can retry
-            // after backing off.
-            throw new IllegalStateException("Received error indicating 
inconsistent voter sets");
+        } else if (error == Errors.INVALID_VOTER_KEY) {
+            // The voter key in the request for VOTE and BEGIN_QUORUM_EPOCH 
doesn't match the
+            // receiver's replica key
+            logger.info(

Review Comment:
   I added the node information of the receiver (sender of the response). At 
this point in the code we don't have easy access to the voter key 
(`ReplicaKey`) sent in the request. To get access to it I would have to extend 
the response wrapper (`RaftResponse.Inbound`) to include the original request.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to