You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2026/10/14 03:13:46 UTC
(pulsar) branch master updated: [improve][build] Upgrade LightProto to 0.9.3 (#26893)
This is an automated email from the ASF dual-hosted git repository.
merlimat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 31ca603536e8 [improve][build] Upgrade LightProto to 0.9.3 (#26893)
31ca603536e8 is described below
commit 31ca603536e8dda3455de7816c545922f1a62e38
Author: Matteo Merli <mm...@apache.org>
AuthorDate: Tue Oct 13 20:13:38 2026 -0700
[improve][build] Upgrade LightProto to 0.9.3 (#26893)
---
gradle/libs.versions.toml | 2 +-
.../org/apache/pulsar/functions/utils/FunctionCommon.java | 2 +-
.../pulsar/functions/utils/FunctionConfigUtilsTest.java | 13 +++++++++++++
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 773914a35b86..5fd19728518c 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -175,7 +175,7 @@ felix-http-wrappers = "1.1.10"
oxia = "0.9.5"
oxia-testcontainers = "0.7.4"
# Build plugins
-lightproto = "0.8.2"
+lightproto = "0.9.3"
graalvm-buildtools = "1.1.14"
errorprone = "2.50.0"
spotbugs = "4.10.3"
diff --git a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionCommon.java b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionCommon.java
index ac78665012e1..676d0aafa5c4 100644
--- a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionCommon.java
+++ b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionCommon.java
@@ -189,7 +189,7 @@ public class FunctionCommon {
public static FunctionConfig.ClientApi convertClientApi(FunctionDetails.ClientApi clientApi) {
return switch (clientApi) {
- case AUTO -> null;
+ case AUTO, UNRECOGNIZED -> null;
case V4 -> FunctionConfig.ClientApi.V4;
case V5 -> FunctionConfig.ClientApi.V5;
};
diff --git a/pulsar-functions/utils/src/test/java/org/apache/pulsar/functions/utils/FunctionConfigUtilsTest.java b/pulsar-functions/utils/src/test/java/org/apache/pulsar/functions/utils/FunctionConfigUtilsTest.java
index cb06bf683a8f..eec410c062e4 100644
--- a/pulsar-functions/utils/src/test/java/org/apache/pulsar/functions/utils/FunctionConfigUtilsTest.java
+++ b/pulsar-functions/utils/src/test/java/org/apache/pulsar/functions/utils/FunctionConfigUtilsTest.java
@@ -28,6 +28,7 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertThrows;
import static org.testng.Assert.assertTrue;
+import com.google.common.primitives.Bytes;
import com.google.gson.Gson;
import java.lang.reflect.Field;
import java.util.Arrays;
@@ -925,6 +926,18 @@ public class FunctionConfigUtilsTest {
.hasMessageContaining("clientApi V4 cannot be used with topic 'topic://public/default/in'");
}
+ @Test
+ public void testConvertFromDetailsWithUnknownClientApi() {
+ byte[] details = FunctionConfigUtils.convert(createFunctionConfig()).toByteArray();
+ // clientApi (field 24, varint) set to 9, a number that no ClientApi value has
+ byte[] unknownClientApi = {(byte) 0xC0, 0x01, 0x09};
+ FunctionDetails functionDetails = new FunctionDetails();
+ functionDetails.parseFrom(Bytes.concat(details, unknownClientApi));
+
+ assertThat(functionDetails.getClientApi()).isEqualTo(FunctionDetails.ClientApi.UNRECOGNIZED);
+ assertThat(FunctionConfigUtils.convertFromDetails(functionDetails).getClientApi()).isNull();
+ }
+
@Test
public void testMergeClientApi() {
FunctionConfig functionConfig = createFunctionConfig();