You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Robbie Gemmell (Jira)" <ji...@apache.org> on 2022/01/20 13:57:00 UTC
[jira] [Reopened] (ARTEMIS-3308) Federated queue will not move large messages
[ https://issues.apache.org/jira/browse/ARTEMIS-3308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell reopened ARTEMIS-3308:
-------------------------------------
> Federated queue will not move large messages
> --------------------------------------------
>
> Key: ARTEMIS-3308
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3308
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker, Federation
> Affects Versions: 2.17.0
> Environment: Windows 10 Pro (jdk 1.8 oracle last) artemis 2.17.0
> Reporter: Alexander Andreevich Revkov
> Assignee: Gary Tully
> Priority: Major
> Fix For: 2.20.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Hello. I'am create two artemis broker:
> artemis01:
> {code:java}
> artemis create --max-hops=1 artemis01{code}
> artemis02:
> {code:java}
> artemis create --max-hops=1 --port-offset=10 artemis02{code}
> user: artemis
> password: artemis
>
> In artemis01/etc/broker.xml i add:
>
> {code:java}
> <connectors>
> <connector name="artemis02-connector">tcp://localhost:61626</connector>
> </connectors>
> <federations>
> <federation name="artemis01-federation" user="artemis" password="artemis">
> <upstream name="artemis02">
> <static-connectors>
> <connector-ref>artemis02-connector</connector-ref>
> </static-connectors>
> <policy ref="artemis-queue-federation"/>
> </upstream>
> <queue-policy name="artemis-queue-federation" priority-adjustment="-5" include-federated="false">
> <include queue-match="#" address-match="TEST.FEDERATED"/>
> </queue-policy>
> </federation>
> </federations>{code}
> then run both brokers.
> I send large message to artemis02:
> {code:java}
> artemis producer --url tcp://localhost:61626 --text-size 8000000 --destination TEST.FEDERATED --message-count 1 --user artemis --password artemis{code}
> And then try get it from artemis01:
> {code:java}
> artemis consumer --url tcp://localhost:61616 --destination TEST.FEDERATED --message-count 1 --user artemis --password artemis{code}
> But i can't received message. Consumer stuck it loop. And artemis01 write in logs many NPE:
> {code:java}
> ***** durable queues TEST.FEDERATED:
> - queueID=30 address:TEST.FEDERATED name:TEST.FEDERATED filter:null
> ***** non durable for TEST.FEDERATED:
> ..................................................
> , direct: true, rejectDuplicates: true
> 2021-05-19 19:27:18,001 DEBUG [org.apache.activemq.artemis.core.server.plugin.impl] AMQ843017: onMessageRouteError message: ClientLargeMessageImpl[messageID=1518976, durable=true, address=TEST.FEDERATED::TEST.FEDERATED,userID=50cb6a04-b8bd-11eb-85ab-00155d7523cb,properties=TypedProperties[__AMQ_CID=50bf3501-b8bd-11eb-85ab-00155d7523cb,_AMQ_ROUTING_TYPE=1,count=0,_AMQ_LARGE_SIZE=16014077,ThreadSent=Producer ActiveMQQueue[TEST.FEDERATED], thread=0]], with context: RoutingContextImpl(Address=null, routingType=null, PreviousAddress=null previousRoute:null, reusable=false, version=0)
> ..................................................
> ***** durable queues TEST.FEDERATED:
> - queueID=30 address:TEST.FEDERATED name:TEST.FEDERATED filter:null
> ***** non durable for TEST.FEDERATED:
> ..................................................
> , direct: true, rejectDuplicates: true
> 2021-05-19 19:27:18,002 INFO [org.apache.activemq.artemis.core.server.plugin.impl] AMQ841018: error routing message with ID: 1518976, exception: java.lang.NullPointerException
> {code}
>
> I see some source code and find what NPE occurs in CoreMessage.java class at 717 line because buffer is NULL:
> {code:java}
> buffer.setIndex(0, 0);{code}
> Not large messages works fine. Please fix it.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)