[ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Byster updated ARTEMIS-4666:
---------------------------------
    Description: 
Federated queues with A upstream and downstream to B do not seem to work as 
expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
in my example, but also verified the issue is present with v5.18.3 and v6.0.1). 
With Artemis JMS as the client, it seems to work as expected.

When running a producer on A and a consumer on B with the classic 
org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
consume any messages that the producer sends. When B is restarted, it then 
consumes the messages.

This works properly with ActiveMQ Artemis 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've created 
a minimal reproducible example 
[here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master]. 
Running server1 and server2 and then first starting up the Consumer then 
running the Producer class, we can see that no messages are logged in console 
by the consumer. When you restart the consumer, the messages are consumed. This 
is an issue whether you attach a MessageListener or you call receive() 
directly. If you switch the ActiveMQConnectionFactory implementation to 
Artemis, it works as expected.

I don't think this necessarily warrants a fix if it's an issue specifically 
with the classic client, since the solution is just to upgrade clients to 
Artemis. However, if it is something that can be patched on the server, that 
would be great. I do, however, think it would be good to note this down in the 
docs that it's not supported with classic clients, since I spent a while 
debugging it. However, most other features do work as expected with the clients 
running the classic version, which is much appreciated as it makes migration 
significantly easier.

 

  was:
Federated queues with A upstream and downstream to B do not seem to work as 
expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
in my example, but also verified the issue is present with v5.18.3 and v6.0.1). 
With Artemis JMS as the client, it seems to work as expected.

When running a producer on A and a consumer on B with the classic 
org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
consume any messages that the producer sends. When B is restarted, it then 
consumes the messages.

This works properly with ActiveMQ Artemis 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've created 
a minimal reproducible example 
[here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master]. 
Running server1 and server2 and then first starting up the Consumer then 
running the Producer class, we can see that no messages are logged in console 
by the consumer. When you restart the consumer, the messages are consumed. If 
you switch the ActiveMQConnectionFactory implementation to Artemis, it works as 
expected.

I don't think this necessarily warrants a fix if it's an issue specifically 
with the classic client, since the solution is just to upgrade clients to 
Artemis. However, if it is something that can be patched on the server, that 
would be great. I do, however, think it would be good to note this down in the 
docs that it's not supported with classic clients, since I spent a while 
debugging it. However, most other features do work as expected with the clients 
running the classic version, which is much appreciated as it makes migration 
significantly easier.

 


> Federated queue consumers do not receive messages on classic clients
> --------------------------------------------------------------------
>
>                 Key: ARTEMIS-4666
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Federation
>    Affects Versions: 2.32.0
>            Reporter: Josh Byster
>            Priority: Major
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to