[ 
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)

Reply via email to