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

Daniel Claesén commented on ARTEMIS-3572:
-----------------------------------------

[~nigrofranz] This is my interpretation of the bug after reading your comments 
and the linked issue: When a message is moved to a new queue the broker doesn't 
account for the extra size of the origin properties when setting the size of 
the buffer. It sets the buffer size too low and then the buffer auto resizes to 
the next power of two when the message won't fit. The broker uses the size of 
all message buffers to calculate the used address memory.

Is this correct?

> Address Memory Used increases by 60% when messages are moved to another queue
> -----------------------------------------------------------------------------
>
>                 Key: ARTEMIS-3572
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3572
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.16.0
>            Reporter: Daniel Claesén
>            Priority: Major
>         Attachments: image-2021-11-15-13-21-48-545.png, 
> image-2021-11-15-13-22-04-106.png, msg-post.png, msg-pre.png, post.png, 
> pre.png, psot.png
>
>
> When I manually move messages from one durable queue to another the address 
> memory used increases by 60%. I expect the address memory used to remain the 
> same as before the messages were moved.
> The same thing happens when the broker moves messages automatically from a 
> queue to the DLQ.
> Steps to reproduce:
>  * Using the GUI in the console:
>  ** Create a new multicast address named "mytest"
>  ** Select the address and create a durable multicast queue named "mytest"
>  * Use the artemis CLI to produce messages. For example like this:
>  ** artemis producer --user admin --password admin --url 
> tcp://localhost:61616 --destination topic://mytest --message-count 1000 
> --message-size 40960 --threads 4
>  * Note the reported address memory used in the console
>  ** In the example above it is 160.26MB
>  * Use the GUI in the console to move messages. For example with the 
> following operation:
>  ** moveMessages(String, String)
>  *** Keep the filter param empty and enter "DLQ" in the otherQueueName param.
>  * The reported address memory used in the console is now 60% higher
>  ** In my example the reported size was 256.43MB
>  
> I have a Red Hat ticket 
> ([https://access.redhat.com/support/cases/#/case/03076511]) about this and it 
> was suggested that I should create Jira ticket to discuss it further with 
> developers. It was mentioned that management calls themselves use memory and 
> that this could be causing the issue, but I don't see why management calls 
> would use address memory.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to