[ https://issues.apache.org/jira/browse/ARTEMIS-4973?focusedWorklogId=928907&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-928907 ]
ASF GitHub Bot logged work on ARTEMIS-4973: ------------------------------------------- Author: ASF GitHub Bot Created on: 06/Aug/24 13:12 Start Date: 06/Aug/24 13:12 Worklog Time Spent: 10m Work Description: gaohoward commented on code in PR #5128: URL: https://github.com/apache/activemq-artemis/pull/5128#discussion_r1705515013 ########## artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQMessageBundle.java: ########## @@ -559,4 +560,6 @@ IllegalStateException invalidRoutingTypeUpdate(String queueName, @Message(id = 229255, value = "Bridge {} cannot be {}. Current state: {}") ActiveMQIllegalStateException bridgeOperationCannotBeExecuted(String bridgeName, String failedOp, BridgeImpl.State currentState); + @Message(id = 229256, value = "Invalid address settings {} for page store {}. Details: {}") + ActiveMQException invalidPageSettings(String pageStoreName, AddressSettings addressSettings, String details); Review Comment: good catch. I forgot to delete it. :) Issue Time Tracking ------------------- Worklog Id: (was: 928907) Time Spent: 50m (was: 40m) > pageSizeBytes/pageLimitBytes combination can cause Address full > --------------------------------------------------------------- > > Key: ARTEMIS-4973 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4973 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: Broker > Affects Versions: 2.36.0 > Reporter: Howard Gao > Assignee: Howard Gao > Priority: Major > Time Spent: 50m > Remaining Estimate: 0h > > There is an edge case where adjusting pageSizeBytes can cause "Address is > full" errors, even though the address is not full. > Do we need to enforce that pageSizeBytes <= pageLimitBytes? > Reproducer steps: > Step 1: configure pageSizeBytes == pageLimitBytes == 1mb: > $ cat my.broker.properties > addressSettings."FOO".pageSizeBytes=1048576 > addressSettings."FOO".pageLimitBytes=1048576 > addressSettings."FOO".maxSizeBytes=1048576 > addressSettings."FOO".pageFullMessagePolicy=FAIL > addressConfigurations."FOO".routingTypes=MULTICAST > addressConfigurations."FOO".queueConfigs."FOO".name=FOO > addressConfigurations."FOO".queueConfigs."FOO".address=FOO > addressConfigurations."FOO".queueConfigs."FOO".routingType=MULTICAST > Step 2: run broker > bin/artemis run --properties my.broker.properties > Step 3: produce 15 messages > $ bin/artemis producer --user admin --password admin --destination > topic://FOO --message-count 15 --message-size 100000 --protocol amqp > Step 4: observe paging started on the destination (but the page size is > 328kb, can hold more messages) > INFO [org.apache.activemq.artemis.core.server] AMQ222038: Starting paging on > address 'FOO'; size=1107003 bytes (11 messages); maxSize=1048576 bytes (-1 > messages); globalSize=1107003 bytes (11 messages); globalMaxSize=1073741824 > bytes (-1 messages); > Step 5: stop broker, increase page size > cat my.broker.properties > addressSettings."FOO".pageSizeBytes=4048576 > ... > Step 6: run broker, observe logs show paging warning > 2024-06-25 15:23:47,135 WARN [org.apache.activemq.artemis.core.server] > AMQ224123: Address FOO has more pages than allowed. System currently has 1 > pages, while the estimated max number of pages is 0 based on the > page-limit-bytes (1048576) / page-size (4048576) > Step 7: try to produce a message, address full > WARN [org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback] > AMQ229102: Address "FOO" is full. -- 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