You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2026/07/22 12:05:54 UTC

(pulsar) 14/16: [fix][fn] Return inputSpecs consumerProperties in function GET info (#26217)

This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit c6e4ae144a48496aabdac3ac8d848208bc4b8715
Author: Dream95 <86...@qq.com>
AuthorDate: Tue Jul 21 22:37:35 2026 +0800

    [fix][fn] Return inputSpecs consumerProperties in function GET info (#26217)
    
    Signed-off-by: Dream95 <zh...@163.com>
    (cherry picked from commit 90cba329a1fb4c306fc04d84f792da34ee7906c9)
---
 .../pulsar/functions/utils/FunctionConfigUtils.java |  1 +
 .../functions/utils/FunctionConfigUtilsTest.java    | 21 +++++++++++++++++++++
 2 files changed, 22 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 45fb4c1cb1ee..33e2d795b16a 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
@@ -411,6 +411,7 @@ public class FunctionConfigUtils {
             }
             consumerConfig.setRegexPattern(input.getValue().getIsRegexPattern());
             consumerConfig.setSchemaProperties(input.getValue().getSchemaPropertiesMap());
+            consumerConfig.setConsumerProperties(input.getValue().getConsumerPropertiesMap());
             consumerConfig.setPoolMessages(input.getValue().getPoolMessages());
             consumerConfigMap.put(input.getKey(), consumerConfig);
         }
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 4679553da38d..c3904ec9ef15 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
@@ -691,6 +691,27 @@ public class FunctionConfigUtilsTest {
         assertTrue(convertedConfig.getInputSpecs().get("test-input").isPoolMessages());
     }
 
+    @Test
+    public void testConsumerProperties() {
+        FunctionConfig functionConfig = createFunctionConfig();
+
+        Map<String, String> consumerProperties = new HashMap<>();
+        consumerProperties.put("consumerName", "window-consumer");
+        Map<String, ConsumerConfig> inputSpecs = new HashMap<>();
+        inputSpecs.put("test-input", ConsumerConfig.builder()
+                .consumerProperties(consumerProperties)
+                .build());
+        functionConfig.setInputSpecs(inputSpecs);
+
+        FunctionDetails functionDetails = FunctionConfigUtils.convert(functionConfig);
+        assertEquals(functionDetails.getSource().getInputSpecsMap().get("test-input").getConsumerPropertiesMap(),
+                consumerProperties);
+
+        FunctionConfig convertedConfig = FunctionConfigUtils.convertFromDetails(functionDetails);
+        assertEquals(convertedConfig.getInputSpecs().get("test-input").getConsumerProperties(),
+                consumerProperties);
+    }
+
     @Test
     public void testConvertProducerSpecToProducerConfigAndBackToProducerSpec() {
         // given