If the messages are encoded in amqp and core, they shouldn't be decoded (and their memory on heap, accounted) until delivered. It is an optimization I have implemented last year...I agree we need to investigate a bit more on this, but I would like to give all the relevant info.
Il lun 15 nov 2021, 11:30 Daniel Claesén (Jira) <j...@apache.org> ha scritto: > > [ > https://issues.apache.org/jira/browse/ARTEMIS-3572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17443719#comment-17443719 > ] > > Daniel Claesén commented on ARTEMIS-3572: > ----------------------------------------- > > Also, if the broker is restarted the address memory usage will go down > back to the original size again. So it's not the added origin fields. > > > 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 > > > > 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) >