dimitarndimitrov commented on code in PR #13432: URL: https://github.com/apache/kafka/pull/13432#discussion_r1164285539
########## clients/src/main/java/org/apache/kafka/clients/admin/internals/AdminApiDriver.java: ########## @@ -260,12 +261,29 @@ public void onFailure( .filter(future.lookupKeys()::contains) .collect(Collectors.toSet()); retryLookup(keysToUnmap); + } else if (t instanceof UnsupportedVersionException) { + if (spec.scope instanceof FulfillmentScope) { + Map<K, Throwable> unrecoverableFailures = + handler.handleUnsupportedVersionException( + (UnsupportedVersionException) t, + spec.keys); + completeExceptionally(unrecoverableFailures); + } else { + Map<K, Throwable> unrecoverableLookupFailures = + handler.lookupStrategy().handleUnsupportedVersionException( + (UnsupportedVersionException) t, + spec.keys); + completeLookupExceptionally(unrecoverableLookupFailures); + Set<K> keysToUnmap = spec.keys.stream() + .filter(k -> !unrecoverableLookupFailures.containsKey(k)) + .collect(Collectors.toSet()); + retryLookup(keysToUnmap); + } Review Comment: @dajac , @dengziming Let me know if you prefer to simplify this for now. If we go that route, I think we have to do `completeLookupExceptionally` instead of `retryLookup` for all, but I might be missing something. -- 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