Address review comments

This commit is contained in:
Colin P. McCabe 2024-06-27 15:24:58 -07:00
parent 3e07a3b7e0
commit ab1b566759
4 changed files with 8 additions and 9 deletions

View File

@ -106,7 +106,7 @@ public class ApiVersionsResponse extends AbstractResponse {
data.setApiKeys(Objects.requireNonNull(apiVersions));
data.setThrottleTimeMs(throttleTimeMs);
data.setSupportedFeatures(
createSupportedFeatureKeys(Objects.requireNonNull(supportedFeatures), suppressFeatureLevel0));
maybeFilterSupportedFeatureKeys(Objects.requireNonNull(supportedFeatures), suppressFeatureLevel0));
data.setFinalizedFeatures(
createFinalizedFeatureKeys(Objects.requireNonNull(finalizedFeatures)));
data.setFinalizedFeaturesEpoch(finalizedFeaturesEpoch);
@ -282,7 +282,7 @@ public class ApiVersionsResponse extends AbstractResponse {
return apiKeys;
}
private static SupportedFeatureKeyCollection createSupportedFeatureKeys(
private static SupportedFeatureKeyCollection maybeFilterSupportedFeatureKeys(
Features<SupportedVersionRange> latestSupportedFeatures,
boolean suppressV0
) {

View File

@ -147,7 +147,7 @@ public class ApiVersionsResponseTest {
setSupportedFeatures(Features.supportedFeatures(
Utils.mkMap(Utils.mkEntry("feature", new SupportedVersionRange((short) 1, (short) 4))))).
setFinalizedFeatures(Utils.mkMap(Utils.mkEntry("feature", (short) 3))).
setFinalizedFeaturesEpoch(10).
setFinalizedFeaturesEpoch(10L).
build();
verifyApiKeysForMagic(response, RecordBatch.MAGIC_VALUE_V1);

View File

@ -264,7 +264,7 @@ class GssapiAuthenticationTest extends IntegrationTestHarness with SaslSetup {
val jaasContexts = Collections.singletonMap("GSSAPI", JaasContext.loadClientContext(config.values()))
val channelBuilder = new SaslChannelBuilder(Mode.CLIENT, jaasContexts, securityProtocol,
null, false, kafkaClientSaslMechanism, true, null, null, null, time, new LogContext(),
version => org.apache.kafka.test.TestUtils.defaultApiVersionsResponse(ListenerType.ZK_BROKER)) {
_ => org.apache.kafka.test.TestUtils.defaultApiVersionsResponse(ListenerType.ZK_BROKER)) {
override protected def defaultLoginClass(): Class[_ <: Login] = classOf[TestableKerberosLogin]
}
channelBuilder.configure(config.values())

View File

@ -46,7 +46,7 @@ class ApiVersionsResponseIntegrationTest extends BaseRequestTest {
if (quorum.equals("kraft")) {
assertFeatureHasMinVersion("metadata.version", response.data().supportedFeatures(), 1)
} else {
assertFeatureDoesNotExist("metadata.version", response.data().supportedFeatures())
assertEquals(0, response.data().supportedFeatures().size())
}
}
@ -58,20 +58,19 @@ class ApiVersionsResponseIntegrationTest extends BaseRequestTest {
assertFeatureHasMinVersion("group.version", response.data().supportedFeatures(), 0)
assertFeatureHasMinVersion("metadata.version", response.data().supportedFeatures(), 1)
} else {
assertFeatureDoesNotExist("group.version", response.data().supportedFeatures())
assertFeatureDoesNotExist("metadata.version", response.data().supportedFeatures())
assertEquals(0, response.data().supportedFeatures().size())
}
}
def assertFeatureHasMinVersion(
name: String,
coll: SupportedFeatureKeyCollection,
expectedVersion: Short
expectedMinVersion: Short
): Unit = {
val key = coll.find(name)
assertNotNull(key)
assertEquals(name, key.name())
assertEquals(expectedVersion, key.minVersion())
assertEquals(expectedMinVersion, key.minVersion())
}
def assertFeatureDoesNotExist(