Mop 4.0.6.5 start failed: NoClassDefFoundError MQTTCommonConfiguration
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 25/100
Research direction
Start with the NoClassDefFoundError at MQTTProtocolHandler.java:80 and the NarClassLoader warning that META-INF/bundled-dependencies is missing. Inspect the pulsar-protocol-handler-mqtt-4.0.6.5.nar and its compatibility with Pulsar 4.0.4; done means the broker starts successfully with the MQTT handler enabled.
Written by the indexing model from the issue text.
Description
Describe the bug
I deployed a Pulsar cluster (Pulsar version 4.0.4) using the helm chart pulsar-4.0.1 in a K8s environment, and added the following configurations in the configuration file.
messagingProtocols=mqtt
mqttListeners=mqtt://0.0.0.0:1883
mqttProxyEnabled=true
mqttProxyPort=5682
protocolHandlerDirectory=/tmp/protocols
advertisedAddress=
he pulsar-protocol-handler-mqtt-4.0.6.5.nar file has been copied into the container and is located in the specified directory. However, the startup failed with an error that appears to be a NoClassDefFoundError.
2025-09-16T05:48:32,149+0000 [main-EventThread] INFO org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase - ZooKeeper client is connected now.
2025-09-16T05:48:32,312+0000 [main] INFO org.apache.pulsar.broker.protocol.ProtocolHandlerUtils - Searching for protocol handlers in /tmp/protocols
2025-09-16T05:48:32,314+0000 [main] INFO org.apache.pulsar.common.nar.NarUnpacker - Created directory /tmp/pulsar-nar/pulsar-protocol-handler-mqtt-4.0.6.5.nar-unpacked
2025-09-16T05:48:32,322+0000 [main] INFO org.apache.pulsar.common.nar.NarUnpacker - Extracting /tmp/protocols/pulsar-protocol-handler-mqtt-4.0.6.5.nar to /tmp/pulsar-nar/pulsar-protocol-handler-mqtt-4.0.6.5.nar-unpacked/nQ63wb1tPstKeJWR8INbKw.tmp
2025-09-16T05:48:32,336+0000 [main] WARN org.apache.pulsar.common.nar.NarClassLoader - /tmp/pulsar-nar/pulsar-protocol-handler-mqtt-4.0.6.5.nar-unpacked/nQ63wb1tPstKeJWR8INbKw does not contain META-INF/bundled-dependencies!
2025-09-16T05:48:32,342+0000 [main] INFO org.apache.pulsar.broker.protocol.ProtocolHandlerUtils - Found protocol handler from /tmp/protocols/pulsar-protocol-handler-mqtt-4.0.6.5.nar : ProtocolHandlerDefinition(name=mqtt, description=MQTT Protocol Handler, handlerClass=io.streamnative.pulsar.handlers.mqtt.broker.MQTTProtocolHandler)
2025-09-16T05:48:32,346+0000 [main] WARN org.apache.pulsar.common.nar.NarClassLoader - /tmp/pulsar-nar/pulsar-protocol-handler-mqtt-4.0.6.5.nar-unpacked/nQ63wb1tPstKeJWR8INbKw does not contain META-INF/bundled-dependencies!
2025-09-16T05:48:32,350+0000 [main] INFO org.apache.pulsar.broker.protocol.ProtocolHandlers - Successfully loaded protocol handler for protocol mqtt
2025-09-16T05:48:32,355+0000 [main] ERROR org.apache.pulsar.PulsarBrokerStarter - Failed to start pulsar service.
java.lang.NoClassDefFoundError: io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonConfiguration
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.base/java.lang.ClassLoader.defineClass(Unknown Source) ~[?:?]
at java.base/java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:?]
at java.base/java.net.URLClassLoader.defineClass(Unknown Source) ~[?:?]
at java.base/java.net.URLClassLoader$1.run(Unknown Source) ~[?:?]
at java.base/java.net.URLClassLoader$1.run(Unknown Source) ~[?:?]
at java.base/java.security.AccessController.doPrivileged(Unknown Source) ~[?:?]
at java.base/java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at org.apache.pulsar.common.nar.NarClassLoader.loadClass(NarClassLoader.java:303) ~[org.apache.pulsar-pulsar-common-4.0.4.jar:4.0.4]
at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at io.streamnative.pulsar.handlers.mqtt.broker.MQTTProtocolHandler.initialize(MQTTProtocolHandler.java:80) ~[?:?]
at org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoader.initialize(ProtocolHandlerWithClassLoader.java:71) ~[org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
at org.apache.pulsar.broker.protocol.ProtocolHandlers.initialize(ProtocolHandlers.java:116) ~[org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
at org.apache.pulsar.broker.PulsarService.start(PulsarService.java:908) ~[org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
at org.apache.pulsar.PulsarBrokerStarter$BrokerStarter.call(PulsarBrokerStarter.java:275) ~[org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
at org.apache.pulsar.PulsarBrokerStarter$BrokerStarter.call(PulsarBrokerStarter.java:130) ~[org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
at picocli.CommandLine.executeUserObject(CommandLine.java:2041) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine.access$1500(CommandLine.java:148) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at picocli.CommandLine.execute(CommandLine.java:2170) ~[info.picocli-picocli-4.7.5.jar:4.7.5]
at org.apache.pulsar.PulsarBrokerStarter$BrokerStarter.start(PulsarBrokerStarter.java:151) ~[org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
at org.apache.pulsar.PulsarBrokerStarter.main(PulsarBrokerStarter.java:366) [org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
Caused by: java.lang.ClassNotFoundException: io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration
at java.base/java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at org.apache.pulsar.common.nar.NarClassLoader.loadClass(NarClassLoader.java:303) ~[org.apache.pulsar-pulsar-common-4.0.4.jar:4.0.4]
at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
... 27 more
2025-09-16T05:48:32,364+0000 [main] WARN org.apache.pulsar.common.util.ShutdownUtil - Triggering immediate shutdown of current process with status 1
java.lang.Exception: Stacktrace for immediate shutdown
at org.apache.pulsar.common.util.ShutdownUtil.triggerImmediateForcefulShutdown(ShutdownUtil.java:55) [org.apache.pulsar-pulsar-common-4.0.4.jar:4.0.4]
at org.apache.pulsar.common.util.ShutdownUtil.triggerImmediateForcefulShutdown(ShutdownUtil.java:50) [org.apache.pulsar-pulsar-common-4.0.4.jar:4.0.4]
at org.apache.pulsar.common.util.ShutdownUtil.triggerImmediateForcefulShutdown(ShutdownUtil.java:82) [org.apache.pulsar-pulsar-common-4.0.4.jar:4.0.4]
at org.apache.pulsar.PulsarBrokerStarter.main(PulsarBrokerStarter.java:372) [org.apache.pulsar-pulsar-broker-4.0.4.jar:4.0.4]
The logs indicate the protocol handler was loaded, but the broker fails to start due to an error.
- Dominant language
- Java
- Stars
- 190
- Forks
- 56
- Avg merge
- 27m
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from streamnative/mop
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
streamnative/mop#1868 · 5 comments ·
-
Can not build mop Open
Difficulty 4/5 3-5 days Newbie friendliness 20/100
streamnative/mop#1765 · 2 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
streamnative/mop#1758 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
streamnative/mop#1665 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
streamnative/mop#1532 ·
All issues in streamnative/mop
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100