You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "tontonflingueur005 (Jira)" <ji...@apache.org> on 2021/04/26 09:57:00 UTC

[jira] [Comment Edited] (ARTEMIS-3265) Message redistribution does not work when using message grouping

    [ https://issues.apache.org/jira/browse/ARTEMIS-3265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17331965#comment-17331965 ] 

tontonflingueur005 edited comment on ARTEMIS-3265 at 4/26/21, 9:56 AM:
-----------------------------------------------------------------------

1. I ran the consumer I did not kill until messages are exhausted. 

On the other broker (where I did not kill the consumer), message count at the end of the test is indeed 0.   

{noformat}
$ ./broker2/bin/artemis  queue stat  --user admin  --password $ARTEMIS_ADMIN_PASSWORD 
Connection brokerURL = tcp://127.0.0.1:62616
(...)
|NAME                     |ADDRESS                  |CONSUMER_COUNT |MESSAGE_COUNT |MESSAGES_ADDED |DELIVERING_COUNT |MESSAGES_ACKED |SCHEDULED_COUNT |ROUTING_TYPE |
|TEST                     |TEST                     |0              |0             |1250           |0                |1250           |0               |ANYCAST      |
(...)
{noformat}

Redistribution will not take place, even after all messages have been exhausted on the other broker. This is the message count on the other broker : 

{noformat}
$ ./broker1/bin/artemis  queue stat  --user admin  --password $ARTEMIS_ADMIN_PASSWORD 
Connection brokerURL = tcp://127.0.0.1:61616
|NAME                     |ADDRESS                  |CONSUMER_COUNT |MESSAGE_COUNT |MESSAGES_ADDED |DELIVERING_COUNT |MESSAGES_ACKED |SCHEDULED_COUNT |ROUTING_TYPE |
(...)
|TEST                     |TEST                     |0              |1137          |1251           |0                |114            |0               |ANYCAST      |
(...)
{noformat}

If I remove that setStringProperties("JMSXGroupID",...), redistribution will start immediately.

2. The platform is intended as a common hub for many applications. We will let our uses know that use of message grouping is discouraged... But we also know that there are some use cases where at least some kind of partial ordering will be required and we need to make sure that we can address this functionnality.




was (Author: tontonflingueur005):
1. I ran the consumer until message are exhausted. 

On the other broker (where I did not kill the consumer), message count at the end of the test is indeed 0.   

{noformat}
$ ./broker2/bin/artemis  queue stat  --user admin  --password $ARTEMIS_ADMIN_PASSWORD 
Connection brokerURL = tcp://127.0.0.1:62616
(...)
|NAME                     |ADDRESS                  |CONSUMER_COUNT |MESSAGE_COUNT |MESSAGES_ADDED |DELIVERING_COUNT |MESSAGES_ACKED |SCHEDULED_COUNT |ROUTING_TYPE |
|TEST                     |TEST                     |0              |0             |1250           |0                |1250           |0               |ANYCAST      |
(...)
{noformat}

Redistribution will not take place, even after all messages have been exhausted on the other broker. This is the message count on the other broker : 

{noformat}
$ ./broker1/bin/artemis  queue stat  --user admin  --password $ARTEMIS_ADMIN_PASSWORD 
Connection brokerURL = tcp://127.0.0.1:61616
|NAME                     |ADDRESS                  |CONSUMER_COUNT |MESSAGE_COUNT |MESSAGES_ADDED |DELIVERING_COUNT |MESSAGES_ACKED |SCHEDULED_COUNT |ROUTING_TYPE |
(...)
|TEST                     |TEST                     |0              |1137          |1251           |0                |114            |0               |ANYCAST      |
(...)
{noformat}

If I remove that setStringProperties("JMSXGroupID",...), redistribution will start immediately.



2. The platform 



> Message redistribution does not work when using message grouping
> ----------------------------------------------------------------
>
>                 Key: ARTEMIS-3265
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3265
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.17.0
>         Environment: {noformat}
> *no* further _formatting_ is done here{noformat}
>            Reporter: tontonflingueur005
>            Priority: Major
>         Attachments: broker.xml, broker.xml, test-producer.tar.gz
>
>
> I have set up a two nodes Artemis broker on my laptop computer. I have set up message grouping and message redistribution.
> The two broker.xml files are joined to ticket, as well as the Spring Boot application I am using to inject messages with groups.
> I use two instances of the regular artemis consumer to consume the messages on each brokers. 
> Here are the commands I am using :
> To launch consumer on the first broker : 
>  
> {noformat}
> [user@hostname]tmp$ cd broker1/
> [user@hostname]broker1$ ./bin/artemis  consumer  --verbose  --message-count 100000 --user admin --password XXXX
> {noformat}
> on the second broker : 
> {noformat}
> [user@hostname]tmp$ cd broker2/
> [user@hostname]broker2$ ./bin/artemis  consumer  --verbose  --message-count 100000 --user admin --password XXXX
> {noformat}
>  
> And to inject message on the first broker (127.0.0.1:61616)
> {noformat}
> [user@hostname]tmp$ cd test-producer/
> [user@hostname]test-producer$ mvn test
> {noformat}
> If I halt one of the consumers, say on broker1, while it is receiving message, all messages of the group it already has handled get stuck on the broker.
> Admittedly asking for redistribution is somewhat contradictory with the group concept, but is there a way to change this behavior ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)