ngjaying opened a new issue #2887: How to get user config at windowing function
URL: https://github.com/apache/pulsar/issues/2887
 
 
   Pulsar functions SDK is not supported for windowing function, then how can 
we get the user config?
   
   #### Expected behavior
   Allow to access context object at windowing function in order to get the 
user configs.
   
   #### Actual behavior
   
   Use Pulsar functions SDK to implement windowing function would get below 
error:
   
   ```
   06:41:11.925 [main] INFO  org.apache.pulsar.admin.cli.CmdFunctions - ex: 
java.lang.ClassCastException: com.emqx.pulsar.functions.WindowRuleFunction 
cannot be cast to java.util.function.Function
   java.lang.ClassCastException: com.emqx.pulsar.functions.WindowRuleFunction 
cannot be cast to java.util.function.Function
           at 
org.apache.pulsar.functions.utils.Utils.getFunctionTypes(Utils.java:116) 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.functions.utils.Utils.getFunctionTypes(Utils.java:108) 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.functions.utils.validation.ValidatorImpls$FunctionConfigValidator.doJavaChecks(ValidatorImpls.java:358)
 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.functions.utils.validation.ValidatorImpls$FunctionConfigValidator.validateField(ValidatorImpls.java:506)
 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.functions.utils.validation.ConfigValidation.processAnnotations(ConfigValidation.java:130)
 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.functions.utils.validation.ConfigValidation.validateClass(ConfigValidation.java:73)
 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.functions.utils.validation.ConfigValidation.validateConfig(ConfigValidation.java:58)
 
~[org.apache.pulsar-pulsar-functions-utils-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.CmdFunctions$FunctionDetailsCommand.validateFunctionConfigs(CmdFunctions.java:454)
 [org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.CmdFunctions$FunctionDetailsCommand.convert(CmdFunctions.java:544)
 [org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.CmdFunctions$FunctionDetailsCommand.convertProto2(CmdFunctions.java:670)
 [org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.CmdFunctions$LocalRunner.runCmd(CmdFunctions.java:708)
 [org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.CmdFunctions$BaseCommand.run(CmdFunctions.java:120) 
[org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at org.apache.pulsar.admin.cli.CmdBase.run(CmdBase.java:61) 
[org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.PulsarAdminTool.run(PulsarAdminTool.java:178) 
[org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
           at 
org.apache.pulsar.admin.cli.PulsarAdminTool.main(PulsarAdminTool.java:228) 
[org.apache.pulsar-pulsar-client-tools-2.1.1-incubating.jar:2.1.1-incubating]
   com.emqx.pulsar.functions.WindowRuleFunction cannot be cast to 
java.util.function.Function
   ```
   
   #### Steps to reproduce
   
   Create a Windowing function that implements Pulsar function SDK and then 
create/localrun it.
   
   #### System configuration
   **Pulsar version**: 2.1.1-incubating
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to