MINOR: IBP_3_4_IV1 should be IBP_3_5_IV0 because it is not in 3.4 (#13198)

The KIP-405 MetadataVersion changes will be released as part of AK 3.5, but were added as BP_3_4_IV1.
This change fixes them to be IBP_3_5_IV0. There is no incompatibility  because this feature has not yet
been released. Also set didMetadataChange to false because KRaft metadata log records did not change.

Reviewers: Satish Duggana <satishd@apache.org>, Christo Lolov <christo_lolov@yahoo.com>, Colin P. McCabe <cmccabe@apache.org>
This commit is contained in:
Ron Dagostino 2023-02-06 13:37:50 -05:00 committed by GitHub
parent 5ec4ccfc9e
commit 6d11261d5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 18 additions and 17 deletions

View File

@ -117,6 +117,6 @@ public class ClusterTestExtensionsTest {
@ClusterTest @ClusterTest
public void testDefaults(ClusterConfig config) { public void testDefaults(ClusterConfig config) {
Assertions.assertEquals(MetadataVersion.IBP_3_4_IV1, config.metadataVersion()); Assertions.assertEquals(MetadataVersion.IBP_3_5_IV0, config.metadataVersion());
} }
} }

View File

@ -41,6 +41,6 @@ public @interface ClusterTest {
String name() default ""; String name() default "";
SecurityProtocol securityProtocol() default SecurityProtocol.PLAINTEXT; SecurityProtocol securityProtocol() default SecurityProtocol.PLAINTEXT;
String listener() default ""; String listener() default "";
MetadataVersion metadataVersion() default MetadataVersion.IBP_3_4_IV1; MetadataVersion metadataVersion() default MetadataVersion.IBP_3_5_IV0;
ClusterConfigProperty[] serverProperties() default {}; ClusterConfigProperty[] serverProperties() default {};
} }

View File

@ -47,7 +47,7 @@ class MetadataVersionIntegrationTest {
assertEquals(ff.maxVersionLevel(), clusterInstance.config().metadataVersion().featureLevel()) assertEquals(ff.maxVersionLevel(), clusterInstance.config().metadataVersion().featureLevel())
// Update to new version // Update to new version
val updateVersion = MetadataVersion.IBP_3_4_IV1.featureLevel.shortValue val updateVersion = MetadataVersion.IBP_3_5_IV0.featureLevel.shortValue
val updateResult = admin.updateFeatures( val updateResult = admin.updateFeatures(
Map("metadata.version" -> new FeatureUpdate(updateVersion, UpgradeType.UPGRADE)).asJava, new UpdateFeaturesOptions()) Map("metadata.version" -> new FeatureUpdate(updateVersion, UpgradeType.UPGRADE)).asJava, new UpdateFeaturesOptions())
updateResult.all().get() updateResult.all().get()

View File

@ -26,7 +26,7 @@ import org.apache.kafka.clients.admin.FeatureUpdate.UpgradeType.{SAFE_DOWNGRADE,
import org.apache.kafka.clients.admin.MockAdminClient import org.apache.kafka.clients.admin.MockAdminClient
import org.apache.kafka.common.utils.Utils import org.apache.kafka.common.utils.Utils
import org.apache.kafka.server.common.MetadataVersion import org.apache.kafka.server.common.MetadataVersion
import org.apache.kafka.server.common.MetadataVersion.{IBP_3_3_IV0, IBP_3_3_IV1, IBP_3_3_IV2, IBP_3_3_IV3, IBP_3_4_IV1} import org.apache.kafka.server.common.MetadataVersion.{IBP_3_3_IV0, IBP_3_3_IV1, IBP_3_3_IV2, IBP_3_3_IV3, IBP_3_5_IV0}
import org.junit.jupiter.api.Assertions.{assertEquals, assertThrows} import org.junit.jupiter.api.Assertions.{assertEquals, assertThrows}
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.ParameterizedTest
@ -84,7 +84,7 @@ class FeatureCommandTest extends IntegrationTestHarness {
Array("--bootstrap-server", bootstrapServers(), "describe"), env.out)) Array("--bootstrap-server", bootstrapServers(), "describe"), env.out))
assertEquals(String.format( assertEquals(String.format(
"Feature: metadata.version\tSupportedMinVersion: 3.0-IV1\t" + "Feature: metadata.version\tSupportedMinVersion: 3.0-IV1\t" +
"SupportedMaxVersion: 3.4-IV1\tFinalizedVersionLevel: 3.3-IV1\t"), "SupportedMaxVersion: 3.5-IV0\tFinalizedVersionLevel: 3.3-IV1\t"),
env.outputWithoutEpoch()) env.outputWithoutEpoch())
} }
} }
@ -173,8 +173,8 @@ class FeatureCommandUnitTest {
@Test @Test
def testMetadataVersionsToString(): Unit = { def testMetadataVersionsToString(): Unit = {
assertEquals("3.3-IV0, 3.3-IV1, 3.3-IV2, 3.3-IV3, 3.4-IV0, 3.4-IV1", assertEquals("3.3-IV0, 3.3-IV1, 3.3-IV2, 3.3-IV3, 3.4-IV0, 3.5-IV0",
FeatureCommand.metadataVersionsToString(IBP_3_3_IV0, IBP_3_4_IV1)) FeatureCommand.metadataVersionsToString(IBP_3_3_IV0, IBP_3_5_IV0))
} }
@Test @Test

View File

@ -164,7 +164,7 @@ public class QuorumControllerTest {
) { ) {
controlEnv.activeController().registerBroker(ANONYMOUS_CONTEXT, controlEnv.activeController().registerBroker(ANONYMOUS_CONTEXT,
new BrokerRegistrationRequestData(). new BrokerRegistrationRequestData().
setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_4_IV1)). setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_5_IV0)).
setBrokerId(0). setBrokerId(0).
setClusterId(logEnv.clusterId())).get(); setClusterId(logEnv.clusterId())).get();
testConfigurationOperations(controlEnv.activeController()); testConfigurationOperations(controlEnv.activeController());
@ -205,7 +205,7 @@ public class QuorumControllerTest {
) { ) {
controlEnv.activeController().registerBroker(ANONYMOUS_CONTEXT, controlEnv.activeController().registerBroker(ANONYMOUS_CONTEXT,
new BrokerRegistrationRequestData(). new BrokerRegistrationRequestData().
setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_4_IV1)). setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_5_IV0)).
setBrokerId(0). setBrokerId(0).
setClusterId(logEnv.clusterId())).get(); setClusterId(logEnv.clusterId())).get();
testDelayedConfigurationOperations(logEnv, controlEnv.activeController()); testDelayedConfigurationOperations(logEnv, controlEnv.activeController());
@ -536,7 +536,7 @@ public class QuorumControllerTest {
setBrokerId(0). setBrokerId(0).
setClusterId(active.clusterId()). setClusterId(active.clusterId()).
setIncarnationId(Uuid.fromString("kxAT73dKQsitIedpiPtwBA")). setIncarnationId(Uuid.fromString("kxAT73dKQsitIedpiPtwBA")).
setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_4_IV1)). setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_5_IV0)).
setListeners(listeners)); setListeners(listeners));
assertEquals(2L, reply.get().epoch()); assertEquals(2L, reply.get().epoch());
CreateTopicsRequestData createTopicsRequestData = CreateTopicsRequestData createTopicsRequestData =
@ -957,7 +957,7 @@ public class QuorumControllerTest {
.setBrokerId(brokerId) .setBrokerId(brokerId)
.setRack(null) .setRack(null)
.setClusterId(controller.clusterId()) .setClusterId(controller.clusterId())
.setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_4_IV1)) .setFeatures(brokerFeatures(MetadataVersion.IBP_3_0_IV1, MetadataVersion.IBP_3_5_IV0))
.setIncarnationId(Uuid.fromString("kxAT73dKQsitIedpiPtwB" + brokerId)) .setIncarnationId(Uuid.fromString("kxAT73dKQsitIedpiPtwB" + brokerId))
.setListeners( .setListeners(
new ListenerCollection( new ListenerCollection(

View File

@ -168,7 +168,7 @@ public enum MetadataVersion {
IBP_3_4_IV0(8, "3.4", "IV0", true), IBP_3_4_IV0(8, "3.4", "IV0", true),
// Support for tiered storage (KIP-405) // Support for tiered storage (KIP-405)
IBP_3_4_IV1(9, "3.4", "IV1", true); IBP_3_5_IV0(9, "3.5", "IV0", false);
// NOTE: update the default version in @ClusterTest annotation to point to the latest version // NOTE: update the default version in @ClusterTest annotation to point to the latest version
public static final String FEATURE_NAME = "metadata.version"; public static final String FEATURE_NAME = "metadata.version";
@ -288,7 +288,7 @@ public enum MetadataVersion {
} }
public short fetchRequestVersion() { public short fetchRequestVersion() {
if (this.isAtLeast(IBP_3_4_IV1)) { if (this.isAtLeast(IBP_3_5_IV0)) {
return 14; return 14;
} else if (this.isAtLeast(IBP_3_1_IV0)) { } else if (this.isAtLeast(IBP_3_1_IV0)) {
return 13; return 13;
@ -332,7 +332,7 @@ public enum MetadataVersion {
} }
public short listOffsetRequestVersion() { public short listOffsetRequestVersion() {
if (this.isAtLeast(IBP_3_4_IV1)) { if (this.isAtLeast(IBP_3_5_IV0)) {
return 8; return 8;
} else if (this.isAtLeast(IBP_3_0_IV1)) { } else if (this.isAtLeast(IBP_3_0_IV1)) {
return 7; return 7;

View File

@ -156,7 +156,8 @@ class MetadataVersionTest {
assertEquals(IBP_3_3_IV3, MetadataVersion.fromVersionString("3.3-IV3")); assertEquals(IBP_3_3_IV3, MetadataVersion.fromVersionString("3.3-IV3"));
assertEquals(IBP_3_4_IV0, MetadataVersion.fromVersionString("3.4-IV0")); assertEquals(IBP_3_4_IV0, MetadataVersion.fromVersionString("3.4-IV0"));
assertEquals(IBP_3_4_IV1, MetadataVersion.fromVersionString("3.4-IV1"));
assertEquals(IBP_3_5_IV0, MetadataVersion.fromVersionString("3.5-IV0"));
} }
@Test @Test
@ -205,7 +206,7 @@ class MetadataVersionTest {
assertEquals("3.3", IBP_3_3_IV2.shortVersion()); assertEquals("3.3", IBP_3_3_IV2.shortVersion());
assertEquals("3.3", IBP_3_3_IV3.shortVersion()); assertEquals("3.3", IBP_3_3_IV3.shortVersion());
assertEquals("3.4", IBP_3_4_IV0.shortVersion()); assertEquals("3.4", IBP_3_4_IV0.shortVersion());
assertEquals("3.4", IBP_3_4_IV1.shortVersion()); assertEquals("3.5", IBP_3_5_IV0.shortVersion());
} }
@Test @Test
@ -243,7 +244,7 @@ class MetadataVersionTest {
assertEquals("3.3-IV2", IBP_3_3_IV2.version()); assertEquals("3.3-IV2", IBP_3_3_IV2.version());
assertEquals("3.3-IV3", IBP_3_3_IV3.version()); assertEquals("3.3-IV3", IBP_3_3_IV3.version());
assertEquals("3.4-IV0", IBP_3_4_IV0.version()); assertEquals("3.4-IV0", IBP_3_4_IV0.version());
assertEquals("3.4-IV1", IBP_3_4_IV1.version()); assertEquals("3.5-IV0", IBP_3_5_IV0.version());
} }
@Test @Test