large message lost for divert

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

large message lost for divert

jigar.parekh80
I have following queue setup in cluster

        <diverts>
                        <divert name="RF-IT">
                                <routing-name>RF-IT</routing-name>
                                <address>RFTopic</address>
                                <forwarding-address>IT-InputQueue</forwarding-address>
                                <exclusive>false</exclusive>
                        </divert>
                        <divert name="RF-MO">
                                <routing-name>RF-MO</routing-name>
                                <address>RFTopic</address>
                                <forwarding-address>RFInputQueue</forwarding-address>
                                <exclusive>false</exclusive>
                        </divert>
                </diverts>


                        <address name="IT-InputQueue">
                                <anycast>
                                        <queue name="IT-InputQueue" />
                                </anycast>
                        </address>
                        <address name="RFInputQueue">
                                <anycast>
                                        <queue name="RFInputQueue" />
                                </anycast>
                        </address>
                        <address name="RFTopic">
                                <multicast />
                        </address>

server1 running on 61616 and server2 running of 61626

I start two consumer with two different available master server

java -jar AmqJmsConsumejar -duration 5 -queue IT-InputQueue -stats -log
/tmp/artemis/4 -verify -commitdelay 300 -url 'tcp://localhost:61626'
java -jar AmqJmsConsumejar -duration 5 -queue IT-InputQueue -stats -log
/tmp/artemis/4 -verify -commitdelay 300 -url 'tcp://localhost:61616'

and run producer to server1 as below

java -jar AmqJmsProducer.jar -topic RFTopic -stats -log /tmp/artemis/4 -id
-count 500 -n 500 -ttl 3600000 -url 'tcp://localhost:61616' -outliers 100
-outliersize 500k

both consumer gets few message but after below exception server1 clears
queue with almost 50% of messages but rest of messages are stuck with
internal.sf.cluster queue and not received by any consumer.

java.lang.IllegalStateException: no queueIDs defined
        at
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionBridge.beforeForward(ClusterConnectionBridge.java:180)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl.handle(BridgeImpl.java:609)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl.handle(QueueImpl.java:2983)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2334)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2000(QueueImpl.java:107)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3209)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
[artemis-commons-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
[artemis-commons-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
[artemis-commons-2.6.3.jar:2.6.3]
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[rt.jar:1.8.0_191]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[rt.jar:1.8.0_191]
        at
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
[artemis-commons-2.6.3.jar:2.6.3]


2019-01-08 15:15:33,668 WARN
[org.apache.activemq.artemis.core.server.impl.QueueImpl] null:
java.util.NoSuchElementException
        at
org.apache.activemq.artemis.utils.collections.PriorityLinkedListImpl$PriorityLinkedListIterator.repeat(PriorityLinkedListImpl.java:172)
[artemis-commons-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2353)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2000(QueueImpl.java:107)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3209)
[artemis-server-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
[artemis-commons-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
[artemis-commons-2.6.3.jar:2.6.3]
        at
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
[artemis-commons-2.6.3.jar:2.6.3]
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[rt.jar:1.8.0_191]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[rt.jar:1.8.0_191]
        at
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
[artemis-commons-2.6.3.jar:2.6.3]


seems some bug with divert and large message forwarding to another node.
If remove one divert or change configuration like below then everything
works fine without any message lost.

                        <address name="RFTopic">
                                <multicast>
                                        <queue name="IT-InputQueue">
                                        </queue>
                                        <queue name="RFInputQueue" />
                                </multicast>
                        </address>




--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html