mumrah commented on code in PR #12072:
URL: https://github.com/apache/kafka/pull/12072#discussion_r856529766
##########
core/src/test/scala/unit/kafka/api/ApiVersionTest.scala:
##########
@@ -184,6 +184,37 @@ class ApiVersionTest {
assertEquals("3.2", KAFKA_3_2_IV0.shortVersion)
}
+ @Test def testVersion(): Unit = {
+ assertEquals("0.8.0", KAFKA_0_8_0.version)
+ assertEquals("0.8.2", KAFKA_0_8_2.version)
+ assertEquals("0.10.0-IV0", KAFKA_0_10_0_IV0.version)
+ assertEquals("0.10.0-IV1", KAFKA_0_10_0_IV1.version)
+ assertEquals("0.11.0-IV0", KAFKA_0_11_0_IV0.version)
+ assertEquals("0.11.0-IV1", KAFKA_0_11_0_IV1.version)
+ assertEquals("0.11.0-IV2", KAFKA_0_11_0_IV2.version)
+ assertEquals("1.0-IV0", KAFKA_1_0_IV0.version)
+ assertEquals("1.1-IV0", KAFKA_1_1_IV0.version)
+ assertEquals("2.0-IV0", KAFKA_2_0_IV0.version)
+ assertEquals("2.0-IV1", KAFKA_2_0_IV1.version)
+ assertEquals("2.1-IV0", KAFKA_2_1_IV0.version)
+ assertEquals("2.1-IV1", KAFKA_2_1_IV1.version)
+ assertEquals("2.1-IV2", KAFKA_2_1_IV2.version)
+ assertEquals("2.2-IV0", KAFKA_2_2_IV0.version)
+ assertEquals("2.2-IV1", KAFKA_2_2_IV1.version)
+ assertEquals("2.3-IV0", KAFKA_2_3_IV0.version)
+ assertEquals("2.3-IV1", KAFKA_2_3_IV1.version)
+ assertEquals("2.4-IV0", KAFKA_2_4_IV0.version)
+ assertEquals("2.5-IV0", KAFKA_2_5_IV0.version)
+ assertEquals("2.6-IV0", KAFKA_2_6_IV0.version)
+ assertEquals("2.7-IV2", KAFKA_2_7_IV2.version)
+ assertEquals("2.8-IV0", KAFKA_2_8_IV0.version)
+ assertEquals("2.8-IV1", KAFKA_2_8_IV1.version)
+ assertEquals("3.0-IV0", KAFKA_3_0_IV0.version)
+ assertEquals("3.0-IV1", KAFKA_3_0_IV1.version)
+ assertEquals("3.1-IV0", KAFKA_3_1_IV0.version)
+ assertEquals("3.2-IV0", KAFKA_3_2_IV0.version)
Review Comment:
We're missing 3.3-IV0 here
##########
server-common/src/main/java/org/apache/kafka/server/common/MetadataVersion.java:
##########
@@ -161,19 +176,7 @@ public RecordVersion recordVersion() {
}
public String shortVersion() {
- Pattern versionPattern = Pattern.compile("^IBP_([\\d_]+)");
- Matcher matcher = versionPattern.matcher(this.name());
- if (matcher.find()) {
- String withoutIV = matcher.group(1);
- // remove any trailing underscores
- if (withoutIV.endsWith("_")) {
- withoutIV = withoutIV.substring(0, withoutIV.length() - 1);
- }
- return withoutIV.replace("_", ".");
- } else {
- throw new IllegalArgumentException("Metadata version: " +
this.name() + " does not fit "
- + "the accepted pattern.");
- }
+ return shortVersion;
}
public String version() {
Review Comment:
This should just return the `version` that you're setting in the constructor
##########
server-common/src/test/java/org/apache/kafka/server/common/MetadataVersionTest.java:
##########
@@ -80,101 +80,101 @@ class MetadataVersionTest {
@Test
public void testApply() {
- assertEquals(IBP_0_8_0, MetadataVersion.apply("0.8.0"));
- assertEquals(IBP_0_8_0, MetadataVersion.apply("0.8.0.0"));
- assertEquals(IBP_0_8_0, MetadataVersion.apply("0.8.0.1"));
+ assertEquals(IBP_0_8_0, MetadataVersion.fromVersionString("0.8.0"));
+ assertEquals(IBP_0_8_0, MetadataVersion.fromVersionString("0.8.0.0"));
+ assertEquals(IBP_0_8_0, MetadataVersion.fromVersionString("0.8.0.1"));
- assertEquals(IBP_0_8_1, MetadataVersion.apply("0.8.1"));
- assertEquals(IBP_0_8_1, MetadataVersion.apply("0.8.1.0"));
- assertEquals(IBP_0_8_1, MetadataVersion.apply("0.8.1.1"));
+ assertEquals(IBP_0_8_1, MetadataVersion.fromVersionString("0.8.1"));
+ assertEquals(IBP_0_8_1, MetadataVersion.fromVersionString("0.8.1.0"));
+ assertEquals(IBP_0_8_1, MetadataVersion.fromVersionString("0.8.1.1"));
- assertEquals(IBP_0_8_2, MetadataVersion.apply("0.8.2"));
- assertEquals(IBP_0_8_2, MetadataVersion.apply("0.8.2.0"));
- assertEquals(IBP_0_8_2, MetadataVersion.apply("0.8.2.1"));
+ assertEquals(IBP_0_8_2, MetadataVersion.fromVersionString("0.8.2"));
+ assertEquals(IBP_0_8_2, MetadataVersion.fromVersionString("0.8.2.0"));
+ assertEquals(IBP_0_8_2, MetadataVersion.fromVersionString("0.8.2.1"));
- assertEquals(IBP_0_9_0, MetadataVersion.apply("0.9.0"));
- assertEquals(IBP_0_9_0, MetadataVersion.apply("0.9.0.0"));
- assertEquals(IBP_0_9_0, MetadataVersion.apply("0.9.0.1"));
+ assertEquals(IBP_0_9_0, MetadataVersion.fromVersionString("0.9.0"));
+ assertEquals(IBP_0_9_0, MetadataVersion.fromVersionString("0.9.0.0"));
+ assertEquals(IBP_0_9_0, MetadataVersion.fromVersionString("0.9.0.1"));
- assertEquals(IBP_0_10_0_IV0, MetadataVersion.apply("0.10.0-IV0"));
+ assertEquals(IBP_0_10_0_IV0,
MetadataVersion.fromVersionString("0.10.0-IV0"));
- assertEquals(IBP_0_10_0_IV1, MetadataVersion.apply("0.10.0"));
- assertEquals(IBP_0_10_0_IV1, MetadataVersion.apply("0.10.0.0"));
- assertEquals(IBP_0_10_0_IV1, MetadataVersion.apply("0.10.0.0-IV0"));
- assertEquals(IBP_0_10_0_IV1, MetadataVersion.apply("0.10.0.1"));
+ assertEquals(IBP_0_10_0_IV1,
MetadataVersion.fromVersionString("0.10.0"));
+ assertEquals(IBP_0_10_0_IV1,
MetadataVersion.fromVersionString("0.10.0.0"));
+ assertEquals(IBP_0_10_0_IV1,
MetadataVersion.fromVersionString("0.10.0.0-IV0"));
+ assertEquals(IBP_0_10_0_IV1,
MetadataVersion.fromVersionString("0.10.0.1"));
- assertEquals(IBP_0_10_1_IV0, MetadataVersion.apply("0.10.1-IV0"));
- assertEquals(IBP_0_10_1_IV1, MetadataVersion.apply("0.10.1-IV1"));
+ assertEquals(IBP_0_10_1_IV0,
MetadataVersion.fromVersionString("0.10.1-IV0"));
+ assertEquals(IBP_0_10_1_IV1,
MetadataVersion.fromVersionString("0.10.1-IV1"));
- assertEquals(IBP_0_10_1_IV2, MetadataVersion.apply("0.10.1"));
- assertEquals(IBP_0_10_1_IV2, MetadataVersion.apply("0.10.1.0"));
- assertEquals(IBP_0_10_1_IV2, MetadataVersion.apply("0.10.1-IV2"));
- assertEquals(IBP_0_10_1_IV2, MetadataVersion.apply("0.10.1.1"));
+ assertEquals(IBP_0_10_1_IV2,
MetadataVersion.fromVersionString("0.10.1"));
+ assertEquals(IBP_0_10_1_IV2,
MetadataVersion.fromVersionString("0.10.1.0"));
+ assertEquals(IBP_0_10_1_IV2,
MetadataVersion.fromVersionString("0.10.1-IV2"));
+ assertEquals(IBP_0_10_1_IV2,
MetadataVersion.fromVersionString("0.10.1.1"));
- assertEquals(IBP_0_10_2_IV0, MetadataVersion.apply("0.10.2"));
- assertEquals(IBP_0_10_2_IV0, MetadataVersion.apply("0.10.2.0"));
- assertEquals(IBP_0_10_2_IV0, MetadataVersion.apply("0.10.2-IV0"));
- assertEquals(IBP_0_10_2_IV0, MetadataVersion.apply("0.10.2.1"));
+ assertEquals(IBP_0_10_2_IV0,
MetadataVersion.fromVersionString("0.10.2"));
+ assertEquals(IBP_0_10_2_IV0,
MetadataVersion.fromVersionString("0.10.2.0"));
+ assertEquals(IBP_0_10_2_IV0,
MetadataVersion.fromVersionString("0.10.2-IV0"));
+ assertEquals(IBP_0_10_2_IV0,
MetadataVersion.fromVersionString("0.10.2.1"));
- assertEquals(IBP_0_11_0_IV0, MetadataVersion.apply("0.11.0-IV0"));
- assertEquals(IBP_0_11_0_IV1, MetadataVersion.apply("0.11.0-IV1"));
+ assertEquals(IBP_0_11_0_IV0,
MetadataVersion.fromVersionString("0.11.0-IV0"));
+ assertEquals(IBP_0_11_0_IV1,
MetadataVersion.fromVersionString("0.11.0-IV1"));
- assertEquals(IBP_0_11_0_IV2, MetadataVersion.apply("0.11.0"));
- assertEquals(IBP_0_11_0_IV2, MetadataVersion.apply("0.11.0.0"));
- assertEquals(IBP_0_11_0_IV2, MetadataVersion.apply("0.11.0-IV2"));
- assertEquals(IBP_0_11_0_IV2, MetadataVersion.apply("0.11.0.1"));
+ assertEquals(IBP_0_11_0_IV2,
MetadataVersion.fromVersionString("0.11.0"));
+ assertEquals(IBP_0_11_0_IV2,
MetadataVersion.fromVersionString("0.11.0.0"));
+ assertEquals(IBP_0_11_0_IV2,
MetadataVersion.fromVersionString("0.11.0-IV2"));
+ assertEquals(IBP_0_11_0_IV2,
MetadataVersion.fromVersionString("0.11.0.1"));
- assertEquals(IBP_1_0_IV0, MetadataVersion.apply("1.0"));
- assertEquals(IBP_1_0_IV0, MetadataVersion.apply("1.0.0"));
- assertEquals(IBP_1_0_IV0, MetadataVersion.apply("1.0.0-IV0"));
- assertEquals(IBP_1_0_IV0, MetadataVersion.apply("1.0.1"));
+ assertEquals(IBP_1_0_IV0, MetadataVersion.fromVersionString("1.0"));
+ assertEquals(IBP_1_0_IV0, MetadataVersion.fromVersionString("1.0.0"));
+ assertEquals(IBP_1_0_IV0,
MetadataVersion.fromVersionString("1.0.0-IV0"));
+ assertEquals(IBP_1_0_IV0, MetadataVersion.fromVersionString("1.0.1"));
- assertEquals(IBP_1_1_IV0, MetadataVersion.apply("1.1-IV0"));
+ assertEquals(IBP_1_1_IV0,
MetadataVersion.fromVersionString("1.1-IV0"));
- assertEquals(IBP_2_0_IV1, MetadataVersion.apply("2.0"));
- assertEquals(IBP_2_0_IV0, MetadataVersion.apply("2.0-IV0"));
- assertEquals(IBP_2_0_IV1, MetadataVersion.apply("2.0-IV1"));
+ assertEquals(IBP_2_0_IV1, MetadataVersion.fromVersionString("2.0"));
+ assertEquals(IBP_2_0_IV0,
MetadataVersion.fromVersionString("2.0-IV0"));
+ assertEquals(IBP_2_0_IV1,
MetadataVersion.fromVersionString("2.0-IV1"));
- assertEquals(IBP_2_1_IV2, MetadataVersion.apply("2.1"));
- assertEquals(IBP_2_1_IV0, MetadataVersion.apply("2.1-IV0"));
- assertEquals(IBP_2_1_IV1, MetadataVersion.apply("2.1-IV1"));
- assertEquals(IBP_2_1_IV2, MetadataVersion.apply("2.1-IV2"));
+ assertEquals(IBP_2_1_IV2, MetadataVersion.fromVersionString("2.1"));
+ assertEquals(IBP_2_1_IV0,
MetadataVersion.fromVersionString("2.1-IV0"));
+ assertEquals(IBP_2_1_IV1,
MetadataVersion.fromVersionString("2.1-IV1"));
+ assertEquals(IBP_2_1_IV2,
MetadataVersion.fromVersionString("2.1-IV2"));
- assertEquals(IBP_2_2_IV1, MetadataVersion.apply("2.2"));
- assertEquals(IBP_2_2_IV0, MetadataVersion.apply("2.2-IV0"));
- assertEquals(IBP_2_2_IV1, MetadataVersion.apply("2.2-IV1"));
+ assertEquals(IBP_2_2_IV1, MetadataVersion.fromVersionString("2.2"));
+ assertEquals(IBP_2_2_IV0,
MetadataVersion.fromVersionString("2.2-IV0"));
+ assertEquals(IBP_2_2_IV1,
MetadataVersion.fromVersionString("2.2-IV1"));
- assertEquals(IBP_2_3_IV1, MetadataVersion.apply("2.3"));
- assertEquals(IBP_2_3_IV0, MetadataVersion.apply("2.3-IV0"));
- assertEquals(IBP_2_3_IV1, MetadataVersion.apply("2.3-IV1"));
+ assertEquals(IBP_2_3_IV1, MetadataVersion.fromVersionString("2.3"));
+ assertEquals(IBP_2_3_IV0,
MetadataVersion.fromVersionString("2.3-IV0"));
+ assertEquals(IBP_2_3_IV1,
MetadataVersion.fromVersionString("2.3-IV1"));
- assertEquals(IBP_2_4_IV1, MetadataVersion.apply("2.4"));
- assertEquals(IBP_2_4_IV0, MetadataVersion.apply("2.4-IV0"));
- assertEquals(IBP_2_4_IV1, MetadataVersion.apply("2.4-IV1"));
+ assertEquals(IBP_2_4_IV1, MetadataVersion.fromVersionString("2.4"));
+ assertEquals(IBP_2_4_IV0,
MetadataVersion.fromVersionString("2.4-IV0"));
+ assertEquals(IBP_2_4_IV1,
MetadataVersion.fromVersionString("2.4-IV1"));
- assertEquals(IBP_2_5_IV0, MetadataVersion.apply("2.5"));
- assertEquals(IBP_2_5_IV0, MetadataVersion.apply("2.5-IV0"));
+ assertEquals(IBP_2_5_IV0, MetadataVersion.fromVersionString("2.5"));
+ assertEquals(IBP_2_5_IV0,
MetadataVersion.fromVersionString("2.5-IV0"));
- assertEquals(IBP_2_6_IV0, MetadataVersion.apply("2.6"));
- assertEquals(IBP_2_6_IV0, MetadataVersion.apply("2.6-IV0"));
+ assertEquals(IBP_2_6_IV0, MetadataVersion.fromVersionString("2.6"));
+ assertEquals(IBP_2_6_IV0,
MetadataVersion.fromVersionString("2.6-IV0"));
- assertEquals(IBP_2_7_IV0, MetadataVersion.apply("2.7-IV0"));
- assertEquals(IBP_2_7_IV1, MetadataVersion.apply("2.7-IV1"));
- assertEquals(IBP_2_7_IV2, MetadataVersion.apply("2.7-IV2"));
+ assertEquals(IBP_2_7_IV0,
MetadataVersion.fromVersionString("2.7-IV0"));
+ assertEquals(IBP_2_7_IV1,
MetadataVersion.fromVersionString("2.7-IV1"));
+ assertEquals(IBP_2_7_IV2,
MetadataVersion.fromVersionString("2.7-IV2"));
- assertEquals(IBP_2_8_IV1, MetadataVersion.apply("2.8"));
- assertEquals(IBP_2_8_IV0, MetadataVersion.apply("2.8-IV0"));
- assertEquals(IBP_2_8_IV1, MetadataVersion.apply("2.8-IV1"));
+ assertEquals(IBP_2_8_IV1, MetadataVersion.fromVersionString("2.8"));
+ assertEquals(IBP_2_8_IV0,
MetadataVersion.fromVersionString("2.8-IV0"));
+ assertEquals(IBP_2_8_IV1,
MetadataVersion.fromVersionString("2.8-IV1"));
- assertEquals(IBP_3_0_IV1, MetadataVersion.apply("3.0"));
- assertEquals(IBP_3_0_IV0, MetadataVersion.apply("3.0-IV0"));
- assertEquals(IBP_3_0_IV1, MetadataVersion.apply("3.0-IV1"));
+ assertEquals(IBP_3_0_IV1, MetadataVersion.fromVersionString("3.0"));
+ assertEquals(IBP_3_0_IV0,
MetadataVersion.fromVersionString("3.0-IV0"));
+ assertEquals(IBP_3_0_IV1,
MetadataVersion.fromVersionString("3.0-IV1"));
- assertEquals(IBP_3_1_IV0, MetadataVersion.apply("3.1"));
- assertEquals(IBP_3_1_IV0, MetadataVersion.apply("3.1-IV0"));
+ assertEquals(IBP_3_1_IV0, MetadataVersion.fromVersionString("3.1"));
+ assertEquals(IBP_3_1_IV0,
MetadataVersion.fromVersionString("3.1-IV0"));
- assertEquals(IBP_3_2_IV0, MetadataVersion.apply("3.2"));
- assertEquals(IBP_3_2_IV0, MetadataVersion.apply("3.2-IV0"));
+ assertEquals(IBP_3_2_IV0, MetadataVersion.fromVersionString("3.2"));
+ assertEquals(IBP_3_2_IV0,
MetadataVersion.fromVersionString("3.2-IV0"));
Review Comment:
Add 3.3 here as well
##########
core/src/test/scala/unit/kafka/api/ApiVersionTest.scala:
##########
@@ -184,6 +184,37 @@ class ApiVersionTest {
assertEquals("3.2", KAFKA_3_2_IV0.shortVersion)
}
+ @Test def testVersion(): Unit = {
Review Comment:
nit: newline between the annotation and `def`
##########
server-common/src/test/java/org/apache/kafka/server/common/MetadataVersionTest.java:
##########
@@ -220,6 +220,38 @@ public void testShortVersion() {
assertEquals("3.2", IBP_3_2_IV0.shortVersion());
}
+ @Test
+ public void testVersion() {
+ assertEquals("0.8.0", IBP_0_8_0.version());
+ assertEquals("0.8.2", IBP_0_8_2.version());
+ assertEquals("0.10.0-IV0", IBP_0_10_0_IV0.version());
+ assertEquals("0.10.0-IV1", IBP_0_10_0_IV1.version());
+ assertEquals("0.11.0-IV0", IBP_0_11_0_IV0.version());
+ assertEquals("0.11.0-IV1", IBP_0_11_0_IV1.version());
+ assertEquals("0.11.0-IV2", IBP_0_11_0_IV2.version());
+ assertEquals("1.0-IV0", IBP_1_0_IV0.version());
+ assertEquals("1.1-IV0", IBP_1_1_IV0.version());
+ assertEquals("2.0-IV0", IBP_2_0_IV0.version());
+ assertEquals("2.0-IV1", IBP_2_0_IV1.version());
+ assertEquals("2.1-IV0", IBP_2_1_IV0.version());
+ assertEquals("2.1-IV1", IBP_2_1_IV1.version());
+ assertEquals("2.1-IV2", IBP_2_1_IV2.version());
+ assertEquals("2.2-IV0", IBP_2_2_IV0.version());
+ assertEquals("2.2-IV1", IBP_2_2_IV1.version());
+ assertEquals("2.3-IV0", IBP_2_3_IV0.version());
+ assertEquals("2.3-IV1", IBP_2_3_IV1.version());
+ assertEquals("2.4-IV0", IBP_2_4_IV0.version());
+ assertEquals("2.5-IV0", IBP_2_5_IV0.version());
+ assertEquals("2.6-IV0", IBP_2_6_IV0.version());
+ assertEquals("2.7-IV2", IBP_2_7_IV2.version());
+ assertEquals("2.8-IV0", IBP_2_8_IV0.version());
+ assertEquals("2.8-IV1", IBP_2_8_IV1.version());
+ assertEquals("3.0-IV0", IBP_3_0_IV0.version());
+ assertEquals("3.0-IV1", IBP_3_0_IV1.version());
+ assertEquals("3.1-IV0", IBP_3_1_IV0.version());
+ assertEquals("3.2-IV0", IBP_3_2_IV0.version());
Review Comment:
3.3
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]