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

Reply via email to