sijie opened a new issue #7742:
URL: https://github.com/apache/pulsar/issues/7742
*Motivation*
Currently, the function worker is using the function worker's classpath to
configure the function instance (runner)'s classpath. So when the broker
(function worker) is using an image that is different from the function
instance (runner), the classpath will be wrong and the function instance is not
able to load the instance classes.
Example error messages:
```
[WARN] /pulsar/conf on functions instance classpath does not exist
[WARN] /pulsar/lib on functions instance classpath does not exist
Using function root classloader: sun.misc.Launcher$AppClassLoader@7852e922
Using function instance classloader: java.net.URLClassLoader@42a57993
Exception in thread "main" java.lang.RuntimeException: Class
org.apache.pulsar.functions.runtime.JavaInstanceStarter must be in class path
at
org.apache.pulsar.functions.instance.JavaInstanceMain.createInstance(JavaInstanceMain.java:108)
at
org.apache.pulsar.functions.instance.JavaInstanceMain.main(JavaInstanceMain.java:93)
Caused by: java.lang.ClassNotFoundException:
org.apache.pulsar.functions.runtime.JavaInstanceStarter
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at
org.apache.pulsar.functions.instance.JavaInstanceMain.createInstance(JavaInstanceMain.java:106)
... 1 more
```
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]