Awsmsniper opened a new issue, #22513:
URL: https://github.com/apache/pulsar/issues/22513

   ### Search before asking
   
   - [X] I searched in the [issues](https://github.com/apache/pulsar/issues) 
and found nothing similar.
   
   
   ### Read release policy
   
   - [X] I understand that unsupported versions don't get bug fixes. I will 
attempt to reproduce the issue on a supported version of Pulsar client and 
Pulsar broker.
   
   
   ### Version
   
   - kubernetes: 1.28
   - jdk: 17
   - pulsar: 3.2.1
   - pulsar-functions-pulsarctl-java-runner: 3.2.1.2
   
   ### Minimal reproduce step
   
   1. Develop using the Extended Pulsar Functions SDK for Java and connect to 
the Redis cluster
   2. Edit yaml file
   3.  kubectl apply -f function.yaml
   
   ### What did you expect to see?
   
   The function can connect to the Redis cluster and work properly.
   
   ### What did you see instead?
   
   ```java
   2024-04-15T06:18:32,716+0000 [public/default/demo-function-las-auth-0] ERROR 
org.apache.pulsar.functions.instance.JavaInstanceRunnable - Sink open produced 
uncaught exception:
   java.lang.ClassNotFoundException: com.alibaba.fastjson2.JSONObject
           at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
           at java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
           at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
           at 
org.apache.pulsar.common.util.Reflections.loadClass(Reflections.java:310) 
~[io.streamnative-pulsar-common-3.2.1.2.jar:3.2.1.2]
           at 
org.apache.pulsar.functions.sink.PulsarSink.initializeSchema(PulsarSink.java:437)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:3.2.1.2]
           at 
org.apache.pulsar.functions.sink.PulsarSink.open(PulsarSink.java:362) 
~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:3.2.1.2]
           at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setupOutput(JavaInstanceRunnable.java:1070)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:?]
           at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setup(JavaInstanceRunnable.java:261)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:?]
           at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.run(JavaInstanceRunnable.java:305)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:?]
           at java.lang.Thread.run(Thread.java:840) ~[?:?]
   2024-04-15T06:18:32,725+0000 [public/default/demo-function-las-auth-0] ERROR 
org.apache.pulsar.functions.instance.JavaInstanceRunnable - 
[public/default/demo-function-las-auth:0] Uncaught exception in Java Instance
   java.lang.ClassNotFoundException: com.alibaba.fastjson2.JSONObject
           at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
           at java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
           at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
           at 
org.apache.pulsar.common.util.Reflections.loadClass(Reflections.java:310) 
~[io.streamnative-pulsar-common-3.2.1.2.jar:3.2.1.2]
           at 
org.apache.pulsar.functions.sink.PulsarSink.initializeSchema(PulsarSink.java:437)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:3.2.1.2]
           at 
org.apache.pulsar.functions.sink.PulsarSink.open(PulsarSink.java:362) 
~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:3.2.1.2]
           at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setupOutput(JavaInstanceRunnable.java:1070)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:?]
           at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setup(JavaInstanceRunnable.java:261)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:?]
           at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.run(JavaInstanceRunnable.java:305)
 ~[io.streamnative-pulsar-functions-instance-3.2.1.2.jar:?]
           at java.lang.Thread.run(Thread.java:840) ~[?:?]
   ```
   
   ### Anything else?
   
   ```yaml
   apiVersion: compute.functionmesh.io/v1alpha1
   kind: Function
   metadata:
     name: demo-function-las-auth
     namespace: pulsar
   spec:
     image: streamnative/pulsar-functions-pulsarctl-java-runner:3.2.1.2 # using 
java function runner
     className: com.audit.function.handler.LasAuthFunction
     forwardSourceMessageProperty: true
     maxPendingAsyncRequests: 1000
     replicas: 1
     maxReplicas: 5
     logTopic: persistent://demo-tenants/log-namespace/function-las-auth-logs
     input:
       topics:
       - persistent://demo-tenants/log-namespace/las-auth
       typeClassName: "[Ljava.lang.String;"
     output:
       topic: persistent://demo-tenants/log-namespace/las-auth-done
       typeClassName: "com.alibaba.fastjson2.JSONObject"
     funcConfig:
       redis.url: redis-cluster.redis-cluster.svc.cluster.local
       redis.password: ******
     secretsMap:
       "redis-ca-certs":
         path: "redis-ca-certs"
         key: "ca.crt"
       "redis-tls-cert":
         path: "redis-tls-cert"
         key: "tls.crt"
       "redis-tls-key":
         path: "redis-tls-key"
         key: "tls.key"
     pulsar:
       pulsarConfig: "demo-pulsar"
       authSecret: "pulsar-auth"
       tlsConfig:
         enabled: true
         allowInsecure: true
         hostnameVerification: false
         certSecretName: pulsar-tls-proxy
         certSecretKey: ""
     resources:
       requests:
         cpu: "2"
         memory: 4G
       limits:
         cpu: "2"
         memory: 4G
     java:
       extraDependenciesDir: random-dir/
       jar: demo-function-1.1-SNAPSHOT.jar # the package will download as this 
filename.
       log:
         level: "debug"
       jarLocation: 
function://demo-tenants/log-namespace/[email protected] # function 
package URL
       javaOpts:
         - "--add-opens java.base/sun.net=ALL-UNNAMED"
         - "--add-opens java.management/sun.management=ALL-UNNAMED"
     autoAck: true
   ---
   apiVersion: v1
   kind: ConfigMap
   metadata:
     name: demo-pulsar
     namespace: pulsar
   data:
     webServiceURL: https://pulsar-proxy.pulsar.svc.cluster.local:443
     brokerServiceURL: pulsar+ssl://pulsar-proxy.pulsar.svc.cluster.local:6651
   ---
   apiVersion: v1
   metadata:
     name: pulsar-auth
     namespace: pulsar
   data:
     clientAuthenticationPlugin: ******
     clientAuthenticationParameters: ******
   kind: Secret
   type: Opaque
   ```
   
   ### Are you willing to submit a PR?
   
   - [ ] I'm willing to submit a PR!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to