[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Component/s: JMX

> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: JMX
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Minor
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE='queue.2'_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filtering
> I did the test using getObjectPropertyForFilter instead of getObjectProperty 
> and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Component/s: management

> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: JMX, management
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Minor
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE='queue.2'_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filtering
> I did the test using getObjectPropertyForFilter instead of getObjectProperty 
> and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/act

[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue
* I move all messages from *queue.2* to *dl.default* queue
 
h2. Current behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP *then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue
* I move all messages from *queue.2* to *dl.default* queue
 
h2. Current behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue
> * I move all messages from *queue.2* to *dl.default* queue
>  
> h2. Current behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L23

[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE='queue.2'_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE='queue.2'_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/m

[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue
* I move all messages from *queue.2* to *dl.default* queue
 
h2. Current behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec27

[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
_AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP* then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue, using moveMessages 
operation
* I move all messages from *queue.2* to *dl.default* queue, using moveMessages 
operation
 
h2. Current behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is c

[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Priority: Minor  (was: Major)

> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Minor
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE='queue.2'_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filtering
> I did the test using getObjectPropertyForFilter instead of getObjectProperty 
> and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Affects Version/s: 2.35.0

> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Minor
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP* then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue, using 
> moveMessages operation
> * I move all messages from *queue.2* to *dl.default* queue, using 
> moveMessages operation
>  
> h2. Current behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE='queue.2'_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation on queue *dl.default* with a groupBy _ 
> _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filtering
> I did the test using getObjectPropertyForFilter instead of getObjectProperty 
> and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP *then moved to another queue and when I call 
*countMessages *operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue
* I move all messages from *queue.2* to *dl.default* queue
 
h2. Actual
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_

When messages are produced via *AMQP *then moved to another queue and I call 
countMessages operation with a group by _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "another.queue": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE_ i get
{code}
{"null": 440}
{code}
 

!image-2024-07-25-09-54-32-066.png!

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP *then moved to another queue and when I call 
> *countMessages *operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue
> * I move all messages from *queue.2* to *dl.default* queue
>  
> h2. Actual
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filtering
> I did the test using getObjectPropertyForFilter instead of getObjectProperty 
> and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP *then moved to another queue and when I call 
*countMessages* operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue
* I move all messages from *queue.2* to *dl.default* queue
 
h2. Current behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected behavior
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_ when 
messages are produced via *AMQP *then moved to another queue and when I call 
*countMessages *operation with a group by

h2. Context:
* I create *1600 *messages to *queue.1*, using *CORE* protocol
* I create *440 *messages to *queue.2*, using *AMQP* protocol
* I move all messages from *queue.1* to *dl.default* queue
* I move all messages from *queue.2* to *dl.default* queue
 
h2. Actual
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "queue.1": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
{code}
{"null": 440}
{code}

!image-2024-07-25-09-54-32-066.png!
 
h2. Expected
Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"queue.2": 440, "queue.1": 1600}
{code}

h2. Notes

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_ when 
> messages are produced via *AMQP *then moved to another queue and when I call 
> *countMessages* operation with a group by
> h2. Context:
> * I create *1600 *messages to *queue.1*, using *CORE* protocol
> * I create *440 *messages to *queue.2*, using *AMQP* protocol
> * I move all messages from *queue.1* to *dl.default* queue
> * I move all messages from *queue.2* to *dl.default* queue
>  
> h2. Current behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "queue.1": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE="queue.2"_ i get
> {code}
> {"null": 440}
> {code}
> !image-2024-07-25-09-54-32-066.png!
>  
> h2. Expected behavior
> Calling *countMessages* operation with a groupBy _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"queue.2": 440, "queue.1": 1600}
> {code}
> h2. Notes
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filter

[jira] [Updated] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4952:
-
Description: 
I encountered weird behavior with JMX _countMessages(String, String)_

When messages are produced via *AMQP *then moved to another queue and I call 
countMessages operation with a group by _ _AMQ_ORIG_QUEUE_ i get:
{code}
{"null": 440, "another.queue": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE_ i get
{code}
{"null": 440}
{code}
 

!image-2024-07-25-09-54-32-066.png!

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works

  was:
I encountered weird behavior with JMX _countMessages(String, String)_

When messages are produced via *AMQP *then moved to another queue and I call 
countMessages operation with a group by _{_}AMQ_ORIG_QUEUE{_} i get:
{code}
{"null": 440, "another.queue": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE_ i get
{code}
{"null": 440}
{code}
 

!image-2024-07-25-09-54-32-066.png!

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works


> JMX countMessages: groupBy not working on AMQP messages
> ---
>
> Key: ARTEMIS-4952
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: nmeylan
>Priority: Major
> Attachments: image-2024-07-25-09-54-32-066.png
>
>
> I encountered weird behavior with JMX _countMessages(String, String)_
> When messages are produced via *AMQP *then moved to another queue and I call 
> countMessages operation with a group by _ _AMQ_ORIG_QUEUE_ i get:
> {code}
> {"null": 440, "another.queue": 1600}
> {code}
> If I also filter by _ _AMQ_ORIG_QUEUE_ i get
> {code}
> {"null": 440}
> {code}
>  
> !image-2024-07-25-09-54-32-066.png!
> I was wondering why 
> [message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
>  is called instead of 
> [message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
>  as for filtering
> I did the test using getObjectPropertyForFilter instead of getObjectProperty 
> and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4952) JMX countMessages: groupBy not working on AMQP messages

2024-07-25 Thread nmeylan (Jira)
nmeylan created ARTEMIS-4952:


 Summary: JMX countMessages: groupBy not working on AMQP messages
 Key: ARTEMIS-4952
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4952
 Project: ActiveMQ Artemis
  Issue Type: Bug
Reporter: nmeylan
 Attachments: image-2024-07-25-09-54-32-066.png

I encountered weird behavior with JMX _countMessages(String, String)_

When messages are produced via *AMQP *then moved to another queue and I call 
countMessages operation with a group by _{_}AMQ_ORIG_QUEUE{_} i get:
{code}
{"null": 440, "another.queue": 1600}
{code}

If I also filter by _ _AMQ_ORIG_QUEUE_ i get
{code}
{"null": 440}
{code}
 

!image-2024-07-25-09-54-32-066.png!

I was wondering why 
[message.getObjectProperty|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/QueueControlImpl.java#L1164]
 is called instead of 
[message.getObjectPropertyForFilter|https://github.com/apache/activemq-artemis/blob/41ec279e2240fd4a84e1c0e7902623682bc5e785/artemis-server/src/main/java/org/apache/activemq/artemis/core/filter/impl/FilterImpl.java#L237]
 as for filtering

I did the test using getObjectPropertyForFilter instead of getObjectProperty 
and it works



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped/Lost message when bridge is paused while messages being produced to target node.

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Affects Version/s: 2.35.0

> CoreBridge: Duplicate message when bridge is stopped/Lost message when bridge 
> is paused while messages being produced to target node.
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0, 2.35.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being produced to the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being produced to the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being produced to the target 
> node, it can lead to message not able to be delivered to new consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> produced to the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, leading to a 
> situation were the message won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> deliverLargeMessage do create task in executor
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped/Lost message when bridge is paused while messages being produced to target node.

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Summary: CoreBridge: Duplicate message when bridge is stopped/Lost message 
when bridge is paused while messages being produced to target node.  (was: 
CoreBridge: Duplicate message when bridge is stopped while messages being 
produced to target node)

> CoreBridge: Duplicate message when bridge is stopped/Lost message when bridge 
> is paused while messages being produced to target node.
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being produced to the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being produced to the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being produced to the target 
> node, it can lead to message not able to be delivered to new consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> produced to the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, leading to a 
> situation were the message won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> deliverLargeMessage do create task in executor
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4821) Message count is not correct in case of failover while a bridge is open on a paging address

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4821:
-
Description: 
After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test [^MessageCount235Test.java]  case 
*testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
attempt other scenario which succeed

I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
because due to renaming of master/slave, SimpleString and migration to junit5, 
code needs to be adapt), all scenario are succeed
 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I face the issue only when using bridge, issue might be due to async 
acknowledgement


  was:
After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test [^MessageCount235Test.java]  case 
*testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
attempt other scenario which succeed

I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
because due to renaming of master/slave, SimpleString and migration to junit5, 
code needs to be adapt), all scenario are succeed
 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I can reproduce only when using bridge it might be due to async 
acknowledgement



> Message count is not correct in case of failover while a bridge is open on a 
> paging address
> ---
>
> Key: ARTEMIS-4821
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4821
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Major
> Attachments: MessageCount230Test.java, MessageCount235Test.java
>
>
> After upgrading from 2.30 to 2.34 one of my test case is failling 
> {{QueueImpl::getMessageCount()}} does not returns what was expected
> See attached Test [^MessageCount235Test.java]  case 
> *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
> attempt other scenario which succeed
> I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
> because due to renaming of master/slave, SimpleString and migration to 
> junit5, code needs to be adapt), all scenario are succeed
>  
> {code:java}
> Topology: Simulating DC1 (1 primary + backup pair)
> Simulating DC2 1 single primary node
> 1. Produce messages on dc1Primary1
> 2. Start a bridge from dc1Primary1 to dc2Primary1
> 3. Stop dc1Primary1 while transfer has started but not finished
> 4. dc1Backup1 become alive
> 5. Start a bridge from dc1Backup1 to dc2Primary1
> 6. dc2Primary1 has received all messages produced originally
> 7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0
> Notes: if address is not paging, there is no issue
> {code}
> After investigation it happen only when address is paging.
> Also as I face the issue only when using bridge, issue might be due to async 
> acknowledgement



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4821) Message count is not correct in case of failover while a bridge is open on a paging address

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4821:
-
Description: 
After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test [^MessageCount235Test.java]  case 
*testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
attempt other scenario which succeed

I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
because due to renaming of master/slave, SimpleString and migration to junit5, 
code needs to be adapt), all scenario are succeed
 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I can reproduce only when using bridge it might be due to async 
acknowledgement


  was:
After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test [^MessageCount235Test.java]  case 
*testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
attempt other scenario which succeed

I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
because due to renaming of master/slave, SimpleString and migration to junit5, 
code need to be adapt), all scenario are succeed
 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I can reproduce only when using bridge it might be due to async 
acknowledgement



> Message count is not correct in case of failover while a bridge is open on a 
> paging address
> ---
>
> Key: ARTEMIS-4821
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4821
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Major
> Attachments: MessageCount230Test.java, MessageCount235Test.java
>
>
> After upgrading from 2.30 to 2.34 one of my test case is failling 
> {{QueueImpl::getMessageCount()}} does not returns what was expected
> See attached Test [^MessageCount235Test.java]  case 
> *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
> attempt other scenario which succeed
> I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
> because due to renaming of master/slave, SimpleString and migration to 
> junit5, code needs to be adapt), all scenario are succeed
>  
> {code:java}
> Topology: Simulating DC1 (1 primary + backup pair)
> Simulating DC2 1 single primary node
> 1. Produce messages on dc1Primary1
> 2. Start a bridge from dc1Primary1 to dc2Primary1
> 3. Stop dc1Primary1 while transfer has started but not finished
> 4. dc1Backup1 become alive
> 5. Start a bridge from dc1Backup1 to dc2Primary1
> 6. dc2Primary1 has received all messages produced originally
> 7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0
> Notes: if address is not paging, there is no issue
> {code}
> After investigation it happen only when address is paging.
> Also as I can reproduce only when using bridge it might be due to async 
> acknowledgement



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4821) Message count is not correct in case of failover while a bridge is open on a paging address

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4821:
-
Description: 
After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test [^MessageCount235Test.java]  case 
*testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
attempt other scenario which succeed

I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
because due to renaming of master/slave, SimpleString and migration to junit5, 
code need to be adapt), all scenario are succeed
 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I can reproduce only when using bridge it might be due to async 
acknowledgement


  was:
After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test case *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* 
which is failing, I attempt other scenario which succeed

 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I can reproduce only when using bridge it might be due to async 
acknowledgement



> Message count is not correct in case of failover while a bridge is open on a 
> paging address
> ---
>
> Key: ARTEMIS-4821
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4821
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Major
> Attachments: MessageCount230Test.java, MessageCount235Test.java
>
>
> After upgrading from 2.30 to 2.34 one of my test case is failling 
> {{QueueImpl::getMessageCount()}} does not returns what was expected
> See attached Test [^MessageCount235Test.java]  case 
> *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* which is failing, I 
> attempt other scenario which succeed
> I link also  [^MessageCount230Test.java] for version 2.30 (it is another file 
> because due to renaming of master/slave, SimpleString and migration to 
> junit5, code need to be adapt), all scenario are succeed
>  
> {code:java}
> Topology: Simulating DC1 (1 primary + backup pair)
> Simulating DC2 1 single primary node
> 1. Produce messages on dc1Primary1
> 2. Start a bridge from dc1Primary1 to dc2Primary1
> 3. Stop dc1Primary1 while transfer has started but not finished
> 4. dc1Backup1 become alive
> 5. Start a bridge from dc1Backup1 to dc2Primary1
> 6. dc2Primary1 has received all messages produced originally
> 7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0
> Notes: if address is not paging, there is no issue
> {code}
> After investigation it happen only when address is paging.
> Also as I can reproduce only when using bridge it might be due to async 
> acknowledgement



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4821) Message count is not correct in case of failover while a bridge is open on a paging address

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4821:
-
Attachment: MessageCount235Test.java

> Message count is not correct in case of failover while a bridge is open on a 
> paging address
> ---
>
> Key: ARTEMIS-4821
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4821
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Major
> Attachments: MessageCount230Test.java, MessageCount235Test.java
>
>
> After upgrading from 2.30 to 2.34 one of my test case is failling 
> {{QueueImpl::getMessageCount()}} does not returns what was expected
> See attached Test case *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* 
> which is failing, I attempt other scenario which succeed
>  
> {code:java}
> Topology: Simulating DC1 (1 primary + backup pair)
> Simulating DC2 1 single primary node
> 1. Produce messages on dc1Primary1
> 2. Start a bridge from dc1Primary1 to dc2Primary1
> 3. Stop dc1Primary1 while transfer has started but not finished
> 4. dc1Backup1 become alive
> 5. Start a bridge from dc1Backup1 to dc2Primary1
> 6. dc2Primary1 has received all messages produced originally
> 7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0
> Notes: if address is not paging, there is no issue
> {code}
> After investigation it happen only when address is paging.
> Also as I can reproduce only when using bridge it might be due to async 
> acknowledgement



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4821) Message count is not correct in case of failover while a bridge is open on a paging address

2024-06-18 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4821:
-
Attachment: MessageCount230Test.java

> Message count is not correct in case of failover while a bridge is open on a 
> paging address
> ---
>
> Key: ARTEMIS-4821
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4821
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.35.0
>Reporter: nmeylan
>Priority: Major
> Attachments: MessageCount230Test.java
>
>
> After upgrading from 2.30 to 2.34 one of my test case is failling 
> {{QueueImpl::getMessageCount()}} does not returns what was expected
> See attached Test case *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* 
> which is failing, I attempt other scenario which succeed
>  
> {code:java}
> Topology: Simulating DC1 (1 primary + backup pair)
> Simulating DC2 1 single primary node
> 1. Produce messages on dc1Primary1
> 2. Start a bridge from dc1Primary1 to dc2Primary1
> 3. Stop dc1Primary1 while transfer has started but not finished
> 4. dc1Backup1 become alive
> 5. Start a bridge from dc1Backup1 to dc2Primary1
> 6. dc2Primary1 has received all messages produced originally
> 7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0
> Notes: if address is not paging, there is no issue
> {code}
> After investigation it happen only when address is paging.
> Also as I can reproduce only when using bridge it might be due to async 
> acknowledgement



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4821) Message count is not correct in case of failover while a bridge is open on a paging address

2024-06-18 Thread nmeylan (Jira)
nmeylan created ARTEMIS-4821:


 Summary: Message count is not correct in case of failover while a 
bridge is open on a paging address
 Key: ARTEMIS-4821
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4821
 Project: ActiveMQ Artemis
  Issue Type: Bug
Affects Versions: 2.35.0
Reporter: nmeylan


After upgrading from 2.30 to 2.34 one of my test case is failling 
{{QueueImpl::getMessageCount()}} does not returns what was expected

See attached Test case *testMessageCount_whenFailoverHappenWhileBridgeIsOpen* 
which is failing, I attempt other scenario which succeed

 
{code:java}
Topology: Simulating DC1 (1 primary + backup pair)
Simulating DC2 1 single primary node

1. Produce messages on dc1Primary1
2. Start a bridge from dc1Primary1 to dc2Primary1
3. Stop dc1Primary1 while transfer has started but not finished
4. dc1Backup1 become alive
5. Start a bridge from dc1Backup1 to dc2Primary1
6. dc2Primary1 has received all messages produced originally
7. Expected: messageCount on dc1Backup1 to be equal to 0, but actual is > 0

Notes: if address is not paging, there is no issue
{code}

After investigation it happen only when address is paging.
Also as I can reproduce only when using bridge it might be due to async 
acknowledgement




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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> produced to target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being produced to the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being produced to the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being produced to the target 
> node, it can lead to message not able to be delivered to new consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> produced to the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, leading to a 
> situation were the message won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> deliverLargeMessage do create task in executor
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> produced to target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being produced to the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being produced to the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being produced to the target 
> node, it can lead to message not able to be delivered to new consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> produced to the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, leading to a 
> situation were the message won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> deliverLargeMessage do create task in executor
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> produced to target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being produced to the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being produced to the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being produced to the target 
> node, it can lead to message not able to be delivered to new consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> produced to the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, leading to a 
> situation were the message won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> deliverLargeMessage do create task in executor
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> produced to target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being produced to the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being produced to the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being produced to the target 
> node, it can lead to message not able to be delivered to new consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> produced to the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, leading to a 
> situation were the message won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> deliverLargeMessage do create task in executor
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being produced to the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being produced to the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being produced to the target 
node, it can lead to message not able to be delivered to new consumers.
{*}Description{*}:
When Using bridge and programmatically pausing it while messages are being 
produced to the target node, If large messages are being delivered, the thread 
In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is paused 
then the Runnable of deliverLargeMessage is being run, leading to a situation 
were the message won't be delivered to new consumers

{*}Notes{*}:
 * PauseRunnable does not await for task in {{executor}} to complete, 
deliverLargeMessage do create task in executor

 * 
 ** We can see that even after PauseRunnable has complete, 
deliverLargeMessage's task is running after.

 * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
{{blockedOnFlowControl}} to true, before calling pause, it prevent putting new 
task on executor and mitigate the issue, but It feels weird and I think there 
might still be race condition

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being produced to the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being produced to the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being produced to the target 
node, it can lead to message not able to be delivered to new consumers.
{*}Description{*}:
When Using bridge and programmatically pausing it while messages are being 
produced to the target node, If large messages are being delivered, the thread 
In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is paused 
then the Runnable of deliverLargeMessage is being run, leading to a situation 
were

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being produced to the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being produced to the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being produced to the target 
node, it can lead to message not able to be delivered to new consumers.
{*}Description{*}:
When Using bridge and programmatically pausing it while messages are being 
produced to the target node, If large messages are being delivered, the thread 
In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is paused 
then the Runnable of deliverLargeMessage is being run, leading to a situation 
were the message won't be delivered to new consumers

{*}Notes{*}:
 * PauseRunnable does not await for task in {{executor}} to complete, 
{{deliverLargeMessage }}do create task in {{executor}}

 * 
 ** We can see that even after PauseRunnable has complete, 
deliverLargeMessage's task is running after.

 * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
{{blockedOnFlowControl}} to true, before calling pause, it prevent putting new 
task on executor and mitigate the issue, but It feels weird and I think there 
might still be race condition

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being consumed by the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being consumed by the target 
node, it can lead to message not able to be delivered to consumers.
{*}Description{*}:
When Using bridge and programmatically pausing it while messages are being 
consumed by the target node, If large messages are being delivered, the thr

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being produced to target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Summary: CoreBridge: Duplicate message when bridge is stopped while 
messages being produced to target node  (was: CoreBridge: Duplicate message 
when bridge is stopped while messages being consumed by target node)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> produced to target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers
> {*}Notes{*}:
>  * PauseRunnable does not await for task in {{executor}} to complete, 
> {{deliverLargeMessage }}do create task in {{executor}}
>  * 
>  ** We can see that even after PauseRunnable has complete, 
> deliverLargeMessage's task is running after.
>  * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
> {{blockedOnFlowControl}} to true, before calling pause, it prevent putting 
> new task on executor and mitigate the issue, but It feels weird and I think 
> there might still be race condition



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being consumed by the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being consumed by the target 
node, it can lead to message not able to be delivered to consumers.
{*}Description{*}:
When Using bridge and programmatically pausing it while messages are being 
consumed by the target node, If large messages are being delivered, the thread 
In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is paused 
then the Runnable of deliverLargeMessage is being run, but as consumer has been 
removed, message can't be consume by target node, and the message won't be 
delivered to new consumers

{*}Notes{*}:
 * PauseRunnable does not await for task in {{executor}} to complete, 
{{deliverLargeMessage }}do create task in {{executor}}

 * 
 ** We can see that even after PauseRunnable has complete, 
deliverLargeMessage's task is running after.

 * If I call {{bridge1.onCreditsFlow(true, null);}} to set the flag 
{{blockedOnFlowControl}} to true, before calling pause, it prevent putting new 
task on executor and mitigate the issue, but It feels weird and I think there 
might still be race condition

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being consumed by the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being consumed by the target 
node, it can lead to messag

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: message-not-deliverable.log.txt)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: message-not-deliverable.log.txt

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeARTEMIS4794Test-1.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeARTEMIS4794Test-1.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: message-not-deliverable.log.txt

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: message-not-deliverable.log.txt)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeDuplicateMessagesARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: message-not-deliverable.log.txt

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java, 
> message-not-deliverable.log.txt
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process
>  
>  
> *UPDATE:* When using pause instead of stop in above scenari, I get message 
> not being develirable anymore
> {*}Summary{*}:
> When a bridge is paused while *large* messages being consumed by the target 
> node, it can lead to message not able to be delivered to consumers.
> {*}Description{*}:
> When Using bridge and programmatically pausing it while messages are being 
> consumed by the target node, If large messages are being delivered, the 
> thread In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is 
> paused then the Runnable of deliverLargeMessage is being run, but as consumer 
> has been removed, message can't be consume by target node, and the message 
> won't be delivered to new consumers



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being consumed by the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

 

 

*UPDATE:* When using pause instead of stop in above scenari, I get message not 
being develirable anymore
{*}Summary{*}:
When a bridge is paused while *large* messages being consumed by the target 
node, it can lead to message not able to be delivered to consumers.
{*}Description{*}:
When Using bridge and programmatically pausing it while messages are being 
consumed by the target node, If large messages are being delivered, the thread 
In _BridgeImpl::deliverLargeMessage_ is not awaited, and the bridge is paused 
then the Runnable of deliverLargeMessage is being run, but as consumer has been 
removed, message can't be consume by target node, and the message won't be 
delivered to new consumers

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being consumed by the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeI

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeDuplicateMessagesARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeDuplicateMessagesARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeDuplicateMessagesARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-11 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeDuplicateMessagesARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no longer met I want to stop the moving of 
> messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Reproduced on 2.30 and 2.34
>  * Calling pause() does not create duplicate 
> {_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-06 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* it while messages are 
being consumed by the target node, the source node fails to get the 
acknowledgement from target node and messages now exists on the source and the 
target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34
 * Calling pause() does not create duplicate 
{_}server.getClusterManager().getBridges().get(bridgeName).pause(){_};

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* it while messages are 
> being consumed by the target node, the source node fails to get the 
> acknowledgement from target node and messages now exists on the source and 
> the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> pr

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-05 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code (a custom plugin) because is start and stop Bridge 
programmatically to move messages from one node to another when some conditions 
are met, if they are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code (a custom plugin) because is start and stop Bridge 
> programmatically to move messages from one node to another when some 
> conditions are met, if they are no long

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-05 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java*+ highlights the 
> issue with _org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl_
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving o

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-05 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Reproduced on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights 
> the issue with+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the 

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeDuplicateMessagesARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights 
> the issue with+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeDuplicateMessagesARTEMIS4794Test.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights 
> the issue with+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.

{*}Description{*}:
    When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.


{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights 
> the issue with+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
>     When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the mo

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the issue 
with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights 
> the issue with+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Not

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.


{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

 

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights the 
issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test *BridgeDuplicateMessagesARTEMIS4794Test.java* **+ highlights 
> the issue with+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
>  
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of mess

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed by target node

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Summary: CoreBridge: Duplicate message when bridge is stopped while 
messages being consumed by target node  (was: CoreBridge: Duplicate message 
when bridge is stopped while messages being consumed)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed by target node
> -
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the 
> issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Not related to large messages, i use large messages in my test to ease 
> reproduction 
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the issue 
with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my tests to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test +*BridgeDuplicateMessageBugTest.java*+ highlights the issue 
with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the 
> issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the issue 
with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my test to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the issue 
with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Not related to large messages, i use large messages in my tests to ease 
reproduction 
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test +{*}BridgeDuplicateMessageBugTest.java{*}+ highlights the 
> issue with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeDuplicateMessagesARTEMIS4794Test.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeDuplicateMessageBugTest.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Description: 
+Attached test +*BridgeDuplicateMessageBugTest.java*+ highlights the issue 
with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process

  was:
+Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+ 
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process


> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessagesARTEMIS4794Test.java
>
>
> +Attached test +*BridgeDuplicateMessageBugTest.java*+ highlights the issue 
> with+ org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRu

[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: BridgeDuplicateMessageBugTest.java

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessageBugTest.java
>
>
> +Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)


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

nmeylan updated ARTEMIS-4794:
-
Attachment: (was: BridgeDuplicateMessageBugTest.java)

> CoreBridge: Duplicate message when bridge is stopped while messages being 
> consumed
> --
>
> Key: ARTEMIS-4794
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Clustering
>Affects Versions: 2.30.0, 2.34.0
>Reporter: nmeylan
>Priority: Major
> Attachments: BridgeDuplicateMessageBugTest.java
>
>
> +Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+ 
> org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl
> Place it under 
> _tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_
> {*}Summary{*}:
>      When a bridge is stopped while messages being consumed by the target 
> node, it can lead to duplicate messages.
> {*}Description{*}:
> When Using bridge and programmatically *stopping* or *pausing* it while 
> messages are being consumed by the target node, the source node fails to get 
> the acknowledgement from target node and messages now exists on the source 
> and the target node.
> It appears that the "active" flag being set to false when 
> BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
> _BridgeImpl::sendAcknowledged_ function
> {*}Context{*}:
> This bug appear in my code because is start and stop Bridge programmatically 
> to move messages from one node to another when some conditions are met, if 
> they are no longer met I want to stop the moving of messages.
>  
> *Notes:*
>  * Changing bridge configuration 
> {_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
> _producerWindowSize_ parameter do not help to mitigate the issue
>  * Bug present on 2.30 and 2.34
>  
> *Resolution:*
> Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
> after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4794) CoreBridge: Duplicate message when bridge is stopped while messages being consumed

2024-06-04 Thread nmeylan (Jira)
nmeylan created ARTEMIS-4794:


 Summary: CoreBridge: Duplicate message when bridge is stopped 
while messages being consumed
 Key: ARTEMIS-4794
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4794
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: Clustering
Affects Versions: 2.30.0, 2.34.0
Reporter: nmeylan
 Attachments: BridgeDuplicateMessageBugTest.java

+Attached test highlight the issue with *BridgeDuplicateMessageBugTest.java*+ 
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl

Place it under 
_tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge_

{*}Summary{*}:
     When a bridge is stopped while messages being consumed by the target node, 
it can lead to duplicate messages.
{*}Description{*}:
When Using bridge and programmatically *stopping* or *pausing* it while 
messages are being consumed by the target node, the source node fails to get 
the acknowledgement from target node and messages now exists on the source and 
the target node.

It appears that the "active" flag being set to false when 
BridgeImpl.StopRunnable is called prevent message to be acknowledged by 
_BridgeImpl::sendAcknowledged_ function

{*}Context{*}:
This bug appear in my code because is start and stop Bridge programmatically to 
move messages from one node to another when some conditions are met, if they 
are no longer met I want to stop the moving of messages.
 

*Notes:*
 * Changing bridge configuration 
{_}useDuplicateDetection{_},{_}confirmationWindowSize{_} or 
_producerWindowSize_ parameter do not help to mitigate the issue
 * Bug present on 2.30 and 2.34

 

*Resolution:*
Maybe _StopRunnable::run_ should wait until _queue.getDeliveringCount() == 0_ 
after removing consumer but before going further in the stop process



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

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact