This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new ebb1c4a68f9 [fix][fn] Fix the --batch-builder not working error for
functions (#21023)
ebb1c4a68f9 is described below
commit ebb1c4a68f973edd4e267313b43c432f2434134c
Author: jiangpengcheng <[email protected]>
AuthorDate: Tue Sep 5 10:35:49 2023 +0800
[fix][fn] Fix the --batch-builder not working error for functions (#21023)
---
.../apache/pulsar/functions/utils/FunctionConfigUtils.java | 6 ++++++
.../pulsar/functions/utils/FunctionConfigUtilsTest.java | 12 ++++++++++++
2 files changed, 18 insertions(+)
diff --git
a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionConfigUtils.java
b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionConfigUtils.java
index 769621da402..e4609672a3d 100644
---
a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionConfigUtils.java
+++
b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/FunctionConfigUtils.java
@@ -280,6 +280,12 @@ public class FunctionConfigUtils {
}
sinkSpecBuilder.setProducerSpec(pbldr.build());
}
+ if (functionConfig.getBatchBuilder() != null) {
+ Function.ProducerSpec.Builder builder =
sinkSpecBuilder.getProducerSpec() != null
+ ? sinkSpecBuilder.getProducerSpec().toBuilder()
+ : Function.ProducerSpec.newBuilder();
+
sinkSpecBuilder.setProducerSpec(builder.setBatchBuilder(functionConfig.getBatchBuilder()).build());
+ }
functionDetailsBuilder.setSink(sinkSpecBuilder);
if (functionConfig.getTenant() != null) {
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 ef4e72dc8d0..8f46199e8ff 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
@@ -158,6 +158,18 @@ public class FunctionConfigUtilsTest {
);
}
+ @Test
+ public void testConvertBatchBuilder() {
+ FunctionConfig functionConfig = createFunctionConfig();
+ functionConfig.setBatchBuilder("KEY_BASED");
+
+ Function.FunctionDetails functionDetails =
FunctionConfigUtils.convert(functionConfig, (ClassLoader) null);
+
assertEquals(functionDetails.getSink().getProducerSpec().getBatchBuilder(),
"KEY_BASED");
+
+ FunctionConfig convertedConfig =
FunctionConfigUtils.convertFromDetails(functionDetails);
+ assertEquals(convertedConfig.getProducerConfig().getBatchBuilder(),
"KEY_BASED");
+ }
+
@Test
public void testMergeEqual() {
FunctionConfig functionConfig = createFunctionConfig();