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();

Reply via email to