You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "Shields, Paul Michael" <pa...@hpe.com> on 2023/10/05 19:44:17 UTC

Wildcard subscription to MQTT topic issue

Running Artemis 2.28.0 in HA cluster active:stanby pair under Kubernetes. System will run for a period of time and then we will start seeing these messages in the log. What does this mean?



2023-10-04 20:50:53,098 ERROR [org.apache.activemq.artemis.core.protocol.mqtt] AMQ834002: Error processing control packet: MqttSubscribeMessage[fixedHeader=MqttFixedHeader[messageType=SUBSCRIBE, isDup=false, qosLevel=AT_LEAST_ONCE, isRetain=false, remainingLength=110], variableHeader=MqttMessageIdAndPropertiesVariableHeader[messageId=1, properties=io.netty.handler.codec.mqtt.MqttProperties@79b1f918<ma...@79b1f918>], payload=MqttSubscribePayload[MqttTopicSubscription[topicFilter=trusted/+/nfs/dropped_messages/myhost1:22, option=SubscriptionOption[qos=AT_MOST_ONCE, noLocal=false, retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]], MqttTopicSubscription[topicFilter=trusted/+/nfs/server/state, option=SubscriptionOption[qos=AT_MOST_ONCE, noLocal=false, retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]], MqttTopicSubscription[topicFilter=trusted/+/nfs/client/state, option=SubscriptionOption[qos=AT_MOST_ONCE, noLocal=false, retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]]]]

java.util.NoSuchElementException: null

        at org.apache.activemq.artemis.utils.collections.LinkedListImpl$Iterator.next(LinkedListImpl.java:581) ~[artemis-commons-2.28.0.jar:?]

        at org.apache.activemq.artemis.utils.collections.PriorityLinkedListImpl$PriorityLinkedListIterator.next(PriorityLinkedListImpl.java:287) ~[artemis-commons-2.28.0.jar:?]

        at org.apache.activemq.artemis.core.server.impl.QueueImpl$SynchronizedIterator.next(QueueImpl.java:4367) ~[artemis-server-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.core.server.impl.QueueImpl$SynchronizedIterator.next(QueueImpl.java:4335) ~[artemis-server-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.core.protocol.mqtt.MQTTRetainMessageManager.addRetainedMessagesToQueue(MQTTRetainMessageManager.java:79) ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscription(MQTTSubscriptionManager.java:127) ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscriptions(MQTTSubscriptionManager.java:323) ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.handleSubscribe(MQTTProtocolHandler.java:377) ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.act(MQTTProtocolHandler.java:176) ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]

        at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:32) ~[artemis-commons-2.28.0.jar:?]

        at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68) ~[artemis-commons-2.28.0.jar:?]

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]

        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) ~[artemis-commons-2.28.0.jar:?]

Thanks,
Paul Shields


Re: Wildcard subscription to MQTT topic issue

Posted by Justin Bertram <jb...@apache.org>.
Looks like there's a problem when attempting to copy a retained MQTT
message into a client's new subscription. Do you have a way to reproduce
this? If so, could you share it?


Justin

On Thu, Oct 5, 2023 at 2:45 PM Shields, Paul Michael <pa...@hpe.com>
wrote:

> Running Artemis 2.28.0 in HA cluster active:stanby pair under Kubernetes.
> System will run for a period of time and then we will start seeing these
> messages in the log. What does this mean?
>
>
>
> 2023-10-04 20:50:53,098 ERROR
> [org.apache.activemq.artemis.core.protocol.mqtt] AMQ834002: Error
> processing control packet:
> MqttSubscribeMessage[fixedHeader=MqttFixedHeader[messageType=SUBSCRIBE,
> isDup=false, qosLevel=AT_LEAST_ONCE, isRetain=false, remainingLength=110],
> variableHeader=MqttMessageIdAndPropertiesVariableHeader[messageId=1,
> properties=io.netty.handler.codec.mqtt.MqttProperties@79b1f918<mailto:
> properties=io.netty.handler.codec.mqtt.MqttProperties@79b1f918>],
> payload=MqttSubscribePayload[MqttTopicSubscription[topicFilter=trusted/+/nfs/dropped_messages/myhost1:22,
> option=SubscriptionOption[qos=AT_MOST_ONCE, noLocal=false,
> retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]],
> MqttTopicSubscription[topicFilter=trusted/+/nfs/server/state,
> option=SubscriptionOption[qos=AT_MOST_ONCE, noLocal=false,
> retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]],
> MqttTopicSubscription[topicFilter=trusted/+/nfs/client/state,
> option=SubscriptionOption[qos=AT_MOST_ONCE, noLocal=false,
> retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]]]]
>
> java.util.NoSuchElementException: null
>
>         at
> org.apache.activemq.artemis.utils.collections.LinkedListImpl$Iterator.next(LinkedListImpl.java:581)
> ~[artemis-commons-2.28.0.jar:?]
>
>         at
> org.apache.activemq.artemis.utils.collections.PriorityLinkedListImpl$PriorityLinkedListIterator.next(PriorityLinkedListImpl.java:287)
> ~[artemis-commons-2.28.0.jar:?]
>
>         at
> org.apache.activemq.artemis.core.server.impl.QueueImpl$SynchronizedIterator.next(QueueImpl.java:4367)
> ~[artemis-server-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.core.server.impl.QueueImpl$SynchronizedIterator.next(QueueImpl.java:4335)
> ~[artemis-server-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTRetainMessageManager.addRetainedMessagesToQueue(MQTTRetainMessageManager.java:79)
> ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscription(MQTTSubscriptionManager.java:127)
> ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscriptions(MQTTSubscriptionManager.java:323)
> ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.handleSubscribe(MQTTProtocolHandler.java:377)
> ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.act(MQTTProtocolHandler.java:176)
> ~[artemis-mqtt-protocol-2.28.0.jar:2.28.0]
>
>         at
> org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:32)
> ~[artemis-commons-2.28.0.jar:?]
>
>         at
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> ~[artemis-commons-2.28.0.jar:?]
>
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
> ~[?:?]
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> ~[?:?]
>
>         at
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> ~[artemis-commons-2.28.0.jar:?]
>
> Thanks,
> Paul Shields
>
>