[
https://issues.apache.org/jira/browse/ARTEMIS-4087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17631528#comment-17631528
]
Marcel Jansen commented on ARTEMIS-4087:
----------------------------------------
Hi Justin,
Hereby the broker.xml:
{code:java}
<configuration xmlns=\"urn:activemq\"
xmlns:xi=\"http://www.w3.org/2001/XInclude\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"urn:activemq /schema/artemis-configuration.xsd\">
<core xmlns=\"urn:activemq:core\"
xsi:schemaLocation=\"urn:activemq:core \">
<persistence-enabled>true</persistence-enabled>
<journal-type>ASYNCIO</journal-type>
<paging-directory>data/paging</paging-directory>
<bindings-directory>data/bindings</bindings-directory>
<journal-directory>data/journal</journal-directory>
<large-messages-directory>data/large-messages</large-messages-directory>
<critical-analyzer-timeout>600000</critical-analyzer-timeout>
<security-enabled>false</security-enabled>
<jmx-management-enabled>true</jmx-management-enabled>
<address-settings>
<!-- if you define auto-create on certain queues, management has
to be auto-create -->
<address-setting match=\"activemq.management#\">
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<!-- with -1 only the global-max-size is in use for limiting -->
<max-size-bytes>-1</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
<auto-create-queues>true</auto-create-queues>
<auto-create-addresses>true</auto-create-addresses>
<auto-delete-queues>true</auto-delete-queues>
<auto-delete-addresses>true</auto-delete-addresses>
</address-setting>
<!--default for catch all-->
<address-setting match=\"#\">
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<!-- with -1 only the global-max-size is in use for limiting -->
<max-size-bytes>4000000000</max-size-bytes>
<max-size-messages>1000000</max-size-messages>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
<auto-create-queues>true</auto-create-queues>
<auto-create-addresses>true</auto-create-addresses>
<auto-delete-queues>true</auto-delete-queues>
<auto-delete-addresses>true</auto-delete-addresses>
</address-setting>
</address-settings>
<addresses>
<address name=\"DLQ\">
<anycast>
<queue name=\"DLQ\"/>
</anycast>
</address>
<address name=\"ExpiryQueue\">
<anycast>
<queue name=\"ExpiryQueue\"/>
</anycast>
</address>
</addresses>
<connectors>
<connector
name=\"netty-connector\">tcp://0.0.0.0:61617</connector>
</connectors>
<connection-ttl-override>300000</connection-ttl-override>
<!-- Acceptors -->
<acceptors>
<acceptor
name=\"netty-ssl-acceptor\">tcp://0.0.0.0:61617?sslEnabled=true;keyStorePath=/var/lib/artemis-instance/ssl/broker.ks;keyStorePassword=${keyStorePassword};trustStorePath=/var/lib/artemis-instance/ssl/client.ts;trustStorePassword=${trustStorePassword};needClientAuth=true;enabledProtocols=TLSv1,TLSv1.1,TLSv1.2</acceptor>
</acceptors>
</core>
</configuration> {code}
Paging also occurs with max-size-bytes=-1 and without having configured
max-size-messages.
I have seen this behaviour with both versions 2.23.1 and 2.25.0. Currently I am
using version 2.25.0.
With checking the filesystem I thought I confirmed that Artemis is paging as
/var/lib/artemis-instance/data/paging is the configured paging directory.
> Artemis starts paging before reaching configured limits
> -------------------------------------------------------
>
> Key: ARTEMIS-4087
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4087
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.23.1, 2.25.0
> Reporter: Marcel Jansen
> Priority: Major
>
> As documented ([Paging · ActiveMQ
> Artemis|https://activemq.apache.org/components/artemis/documentation/2.0.0/paging.html])
> should Artemis start paging when reaching one of the following limits:
> Per queue:
> * max-size-bytes (default: -1, thus unlimited)
> * max-size-messages (default: -1, thus unlimited)
> Global:
> * global-max-size (default: 1/2 of max JVM memory size)
> * global-max-messages (default: -1, thus unlimited)
> In my understanding should Artemis (if not configured otherwise) start paging
> when the global size reaches half the size of the JVM max memory.
> I have tested with both the above settings and specific limits. The JVM has a
> max memory size of 30gb.
> The following log is from a broker with a queue that has approximately 10.000
> messages of 3kb in size (at peak moments this increases to above 300.000
> messages) . Despite of the configured limits the log tells me it starts
> paging:
> {code:java}
> 2022-11-08 14:58:52,282 INFO [org.apache.activemq.artemis.core.server]
> AMQ222038: Starting paging on address 'redacted.queue.name'; size=0 bytes (0
> messages); maxSize=4000000000 bytes (1000000 messages); globalSize=0 bytes (0
> messages); globalMaxSize=16106127360 bytes (-1 messages);{code}
> This is confirmed when I inspect the filesystem:
> {code:java}
> /var/lib/artemis-instance/data/paging$ du -h
> 8.0K ./62bde078-a373-11ec-931e-7ab5b265b3a6
> 161M ./3bd3774b-a32e-11ec-931e-7ab5b265b3a6
> 8.0K ./93ad59a3-df28-11ec-b0a5-8a1ef8f4c99e
> 161M .{code}
> {code:java}
> /var/lib/artemis-instance/data/paging$ ls -l
> 3bd3774b-a32e-11ec-931e-7ab5b265b3a6/
> total 179160
> -rw-rw-r-- 1 artemis artemis 10483423 Nov 8 14:51 000033795.page
> -rw-rw-r-- 1 artemis artemis 10484549 Nov 8 14:53 000033797.page
> -rw-rw-r-- 1 artemis artemis 10483487 Nov 8 14:57 000033802.page
> -rw-r--r-- 1 artemis artemis 10481506 Nov 8 15:04 000033804.page
> -rw-r--r-- 1 artemis artemis 10483474 Nov 8 15:04 000033805.page
> -rw-r--r-- 1 artemis artemis 10484783 Nov 8 15:07 000033806.page
> -rw-r--r-- 1 artemis artemis 10485629 Nov 8 15:12 000033807.page
> -rw-r--r-- 1 artemis artemis 10483845 Nov 8 15:13 000033808.page
> -rw-r--r-- 1 artemis artemis 10484295 Nov 8 15:14 000033809.page
> -rw-r--r-- 1 artemis artemis 10483287 Nov 8 15:15 000033810.page
> -rw-r--r-- 1 artemis artemis 10482534 Nov 8 15:15 000033811.page
> -rw-r--r-- 1 artemis artemis 10483602 Nov 8 15:16 000033812.page
> -rw-r--r-- 1 artemis artemis 10483332 Nov 8 15:16 000033813.page
> -rw-r--r-- 1 artemis artemis 10484324 Nov 8 15:16 000033814.page
> -rw-r--r-- 1 artemis artemis 10484248 Nov 8 15:17 000033815.page
> -rw-r--r-- 1 artemis artemis 10484052 Nov 8 15:17 000033816.page
> -rw-r--r-- 1 artemis artemis 10484635 Nov 8 15:18 000033817.page
> -rw-r--r-- 1 artemis artemis 5128056 Nov 8 15:18 000033818.page
> -rw-rw-r-- 1 artemis artemis 46 Mar 14 2022 address.txt {code}
> Am I missing something in my configuration or is this a bug?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)