ijuma commented on code in PR #18477: URL: https://github.com/apache/kafka/pull/18477#discussion_r1925409662
########## clients/src/test/java/org/apache/kafka/common/requests/ApiVersionsResponseTest.java: ########## @@ -160,25 +160,24 @@ public void shouldNotCreateApiResponseWithTelemetryWhenDisabled() { build(); verifyApiKeysForTelemetry(response, 0); } - + @Test - public void testMetadataQuorumApisAreDisabled() { + public void testBrokerApisAreEnabled() { ApiVersionsResponse response = new ApiVersionsResponse.Builder(). - setThrottleTimeMs(AbstractResponse.DEFAULT_THROTTLE_TIME). - setApiVersions(ApiVersionsResponse.filterApis( - ListenerType.ZK_BROKER, - true, - true)). - setSupportedFeatures(Features.emptySupportedFeatures()). - setFinalizedFeatures(Collections.emptyMap()). - setFinalizedFeaturesEpoch(ApiVersionsResponse.UNKNOWN_FINALIZED_FEATURES_EPOCH). - build(); - // Ensure that APIs needed for the KRaft mode are not exposed through ApiVersions until we are ready for them - HashSet<ApiKeys> exposedApis = apiKeysInResponse(response); - assertFalse(exposedApis.contains(ApiKeys.VOTE)); - assertFalse(exposedApis.contains(ApiKeys.BEGIN_QUORUM_EPOCH)); - assertFalse(exposedApis.contains(ApiKeys.END_QUORUM_EPOCH)); - assertFalse(exposedApis.contains(ApiKeys.DESCRIBE_QUORUM)); + setThrottleTimeMs(AbstractResponse.DEFAULT_THROTTLE_TIME). + setApiVersions(ApiVersionsResponse.filterApis( + ListenerType.BROKER, + true, + true)). + setSupportedFeatures(Features.emptySupportedFeatures()). + setFinalizedFeatures(Collections.emptyMap()). + setFinalizedFeaturesEpoch(ApiVersionsResponse.UNKNOWN_FINALIZED_FEATURES_EPOCH). + build(); + + HashSet<ApiKeys> exposed = apiKeysInResponse(response); + Arrays.stream(ApiKeys.values()) + .filter(key -> key.messageType.listeners().contains(ListenerType.BROKER)) + .forEach(key -> assertTrue(exposed.contains(key))); Review Comment: Let's also assert that non broker apis are disabled. ########## clients/src/main/java/org/apache/kafka/common/protocol/ApiKeys.java: ########## @@ -332,10 +332,6 @@ public void visit(Type field) { return hasBuffer.get(); } - public static EnumSet<ApiKeys> zkBrokerApis() { - return apisForListener(ApiMessageType.ListenerType.ZK_BROKER); - } - public static EnumSet<ApiKeys> kraftBrokerApis() { Review Comment: Rename this to `brokerApis` please. -- 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