[ 
https://issues.apache.org/jira/browse/ARTEMIS-3178?focusedWorklogId=842541&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-842541
 ]

ASF GitHub Bot logged work on ARTEMIS-3178:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 31/Jan/23 11:44
            Start Date: 31/Jan/23 11:44
    Worklog Time Spent: 10m 
      Work Description: gemmellr commented on code in PR #4351:
URL: https://github.com/apache/activemq-artemis/pull/4351#discussion_r1091812443


##########
artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java:
##########
@@ -1082,10 +1083,69 @@ public void 
testAddressSettingsPageLimitInvalidConfiguration2() throws Throwable
 
       String randomString = RandomUtil.randomString();
 
+      // pageLimitBytes and pageFullMessagePolicy not set on purpose
+      properties.put("addressSettings.#.expiryAddress", randomString);
+      properties.put("addressSettings.#.pageLimitMessages", "300");
+
+      configuration.parsePrefixedProperties(properties, null);
+
+      Assert.assertEquals(1, configuration.getAddressSettings().size());
+      Assert.assertEquals(SimpleString.toSimpleString(randomString), 
configuration.getAddressSettings().get("#").getExpiryAddress());
+      Assert.assertEquals((Long)300L, 
configuration.getAddressSettings().get("#").getPageLimitMessages());
+      Assert.assertEquals(null, 
configuration.getAddressSettings().get("#").getPageLimitBytes());
+      Assert.assertEquals(null, 
configuration.getAddressSettings().get("#").getPageFullMessagePolicy());
+
+      PagingStore storeImpl = new PagingStoreImpl(new SimpleString("Test"), 
(ScheduledExecutorService) null, 100L, Mockito.mock(PagingManager.class), 
Mockito.mock(StorageManager.class), Mockito.mock(SequentialFileFactory.class), 
Mockito.mock(PagingStoreFactory.class), new SimpleString("Test"), 
configuration.getAddressSettings().get("#"), null, null, true);
+
+      Assert.assertEquals(null, storeImpl.getPageLimitMessages());
+      Assert.assertEquals(null, storeImpl.getPageLimitBytes());
+      Assert.assertEquals(null, storeImpl.getPageFullMessagePolicy());
+      Assert.assertTrue(AssertionLoggerHandler.findText("AMQ224125"));
+   }
+
+   @Test
+   public void testAddressSettingsPageLimitInvalidConfiguration3() throws 
Throwable {
+      AssertionLoggerHandler.startCapture();
+      runAfter(AssertionLoggerHandler::stopCapture);
+      ConfigurationImpl configuration = new ConfigurationImpl();
+
+      Properties properties = new Properties();
+
+      String randomString = RandomUtil.randomString();
+
+      // pageLimitMessages and pageFullMessagePolicy not set on purpose
+      properties.put("addressSettings.#.expiryAddress", randomString);
+      properties.put("addressSettings.#.pageLimitBytes", "300000"); // 
removing this on purpose

Review Comment:
   // removing this on purpose
   
   it isnt being removed





Issue Time Tracking
-------------------

    Worklog Id:     (was: 842541)
    Time Spent: 3h 40m  (was: 3.5h)

> Provide a way to limit the size of an address after paged
> ---------------------------------------------------------
>
>                 Key: ARTEMIS-3178
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3178
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker, Configuration
>    Affects Versions: 2.17.0
>            Reporter: Gary Tully
>            Assignee: Clebert Suconic
>            Priority: Major
>             Fix For: 2.28.0
>
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> I am adding three attributes to Address-settings:
>  * page-limit-bytes: Number of bytes. We will convert this metric into max 
> number of pages internally by dividing max-bytes / page-size. It will allow a 
> max based on an estimate.
>  * page-limit-messages: Number of messages
>  * page-full-message-policy: fail : drop
> We will now allow paging, until these max values and then fail or drop 
> messages.
> Once these values are retracted, the address will remain full until a period 
> where cleanup is kicked in by paging. So these values may have a certain 
> delay on being applied, but they should always be cleared once cleanup 
> happened.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to