ngjaying commented on issue #2900: NoClassDefFoundError error happens when running custom source connector on cluster URL: https://github.com/apache/pulsar/issues/2900#issuecomment-441176551 Thanks for looking into it and sorry for my late reply. I am still getting this problem in pulsar 2.2.0. I am running on Ubuntu. I get the error on standalone and also on cluster setting up in 2 machines. > One issue that I'm seeing in your command is that you are submitting a jar. It should actually be the nar. I tried both nar and jar, all have the same problem. `15:47:58.189 [pulsar-web-30-8] WARN org.eclipse.jetty.servlet.ServletHandler - javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/eclipse/paho/client/mqttv3/MqttCallback at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) ~[org.eclipse.jetty-jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689) ~[org.eclipse.jetty-jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.apache.pulsar.broker.web.ResponseHandlerFilter.doFilter(ResponseHandlerFilter.java:53) ~[org.apache.pulsar-pulsar-broker-2.2.0.jar:2.2.0] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676) ~[org.eclipse.jetty-jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) [org.eclipse.jetty-jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [org.eclipse.jetty-jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.Server.handle(Server.java:524) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253) [org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [org.eclipse.jetty-jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [org.eclipse.jetty-jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [org.eclipse.jetty-jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [org.eclipse.jetty-jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [org.eclipse.jetty-jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [org.eclipse.jetty-jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [org.apache.pulsar-pulsar-functions-metrics-2.2.0.jar:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181] Caused by: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/eclipse/paho/client/mqttv3/MqttCallback at org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:278) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:260) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:509) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] ... 31 more Caused by: java.lang.NoClassDefFoundError: org/eclipse/paho/client/mqttv3/MqttCallback at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_181] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_181] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_181] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_181] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_181] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_181] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_181] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_181] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_181] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_181] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_181] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.getTypeArg(FunctionsImpl.java:1136) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.validateFunctionClassTypes(FunctionsImpl.java:1085) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.validateUpdateRequestParams(FunctionsImpl.java:1012) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.validateUpdateRequestParams(FunctionsImpl.java:899) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.registerFunction(FunctionsImpl.java:178) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.broker.admin.impl.FunctionsBase.registerFunction(FunctionsBase.java:86) ~[org.apache.pulsar-pulsar-broker-2.2.0.jar:2.2.0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] ... 31 more Caused by: java.lang.ClassNotFoundException: org.eclipse.paho.client.mqttv3.MqttCallback at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_181] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_181] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_181] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_181] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_181] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_181] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_181] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_181] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_181] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_181] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_181] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_181] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_181] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_181] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.getTypeArg(FunctionsImpl.java:1136) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.validateFunctionClassTypes(FunctionsImpl.java:1085) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.validateUpdateRequestParams(FunctionsImpl.java:1012) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.validateUpdateRequestParams(FunctionsImpl.java:899) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.registerFunction(FunctionsImpl.java:178) ~[org.apache.pulsar-pulsar-functions-worker-2.2.0.jar:2.2.0] at org.apache.pulsar.broker.admin.impl.FunctionsBase.registerFunction(FunctionsBase.java:86) ~[org.apache.pulsar-pulsar-broker-2.2.0.jar:2.2.0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[org.glassfish.jersey.core-jersey-common-2.25.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[org.glassfish.jersey.core-jersey-server-2.25.jar:?] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar:?] ... 31 more`
---------------------------------------------------------------- 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
