Alexander Andreevich Revkov created ARTEMIS-3308:
----------------------------------------------------

             Summary: Federated queue not move large messages
                 Key: ARTEMIS-3308
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3308
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.17.0
         Environment: Windows 10 Pro (jdk 1.8 oracle last) artemis 2.17.0
            Reporter: Alexander Andreevich Revkov


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)

Reply via email to