[ https://issues.apache.org/jira/browse/ARTEMIS-3308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully resolved ARTEMIS-3308. --------------------------------- Fix Version/s: 2.20.0 Resolution: Fixed > 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.3.4#803005)