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

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

commit c92a86fe81dc9258a955328efbe1f1f4e5f1d161
Author: Chris Day <[email protected]>
AuthorDate: Sat Feb 15 22:28:27 2020 -0600

    Fix deploy of WindowFunctions (#6246)
    
    ### Motivation
    
    In pulsar 2.5.0 deploying window functions fails because its class doesn't 
pass validation.
    The behavior looks the same in current master.
    
    ### Modifications
    
    Add `WindowFunction.class` to the list of allowed function classes
---
 .../java/org/apache/pulsar/functions/utils/FunctionConfigUtils.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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 2d32531..3398a5a 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
@@ -381,7 +381,8 @@ public class FunctionConfigUtils {
             Class functionClass = 
clsLoader.loadClass(functionConfig.getClassName());
 
             if 
(!org.apache.pulsar.functions.api.Function.class.isAssignableFrom(functionClass)
-                    && 
!java.util.function.Function.class.isAssignableFrom(functionClass)) {
+                    && 
!java.util.function.Function.class.isAssignableFrom(functionClass)
+                    && 
!org.apache.pulsar.functions.api.WindowFunction.class.isAssignableFrom(functionClass))
 {
                 throw new IllegalArgumentException(
                         String.format("Function class %s does not implement 
the correct interface",
                                 functionClass.getName()));

Reply via email to