chia7712 commented on code in PR #15732:
URL: https://github.com/apache/kafka/pull/15732#discussion_r1568327439


##########
metadata/src/main/java/org/apache/kafka/metadata/migration/KRaftMigrationDriver.java:
##########
@@ -391,13 +391,16 @@ void enqueueMetadataChangeEvent(
 
     // Events handled by Migration Driver.
     abstract class MigrationEvent implements EventQueue.Event {
+        // Use no-op handler by default because the retryHandler will be 
overridden if needed
+        public void retryHandler() { }
         @SuppressWarnings("ThrowableNotThrown")
         @Override
         public void handleException(Throwable e) {
             if (e instanceof MigrationClientAuthException) {
                 
KRaftMigrationDriver.this.faultHandler.handleFault("Encountered ZooKeeper 
authentication in " + this, e);
             } else if (e instanceof MigrationClientException) {
                 log.info(String.format("Encountered ZooKeeper error during 
event %s. Will retry.", this), e.getCause());
+                retryHandler();

Review Comment:
   > No, as you said above, the MigrationClientException retryHandler won't be 
triggered in other migrationState because they will be handled in other event 
handler, which is not related to pollEvent. And because the default 
retryHandler is no-op, there will be no retry for other migrationStates. As 
long as pollEvent is keep polling, they can be retried later.
   
   you are right :)



-- 
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

Reply via email to