[
https://issues.apache.org/jira/browse/ARTEMIS-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Clebert Suconic updated ARTEMIS-3178:
-------------------------------------
Description:
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.
was:
Currently there are max-size-bytes and global-max-size-bytes that trigger the
blocking policy based on memory constraints. They don't cover paged messages
on an address.
If a user wants to resource constrain an address, whether the messages are
paged or not is orthogonal to the limit.
Having max-size-bytes encompass both paged an in-memory messages for an address
seems intuitive.
Having max-size-in-memory configure the limits for paging (the current
behaviour) may make sense.
That could also make page-cache-max-size obsolete, use max-size-in-memory.
The behaviour, blocking/fail etc would still hold, with page being an option
for max-size-in-memory.
Naming is hard at best and there is an argument for adding new config rather
than changing the meaning of an existing value. However in this case, the
current configuration item, max-size-bytes could easily be inferred to be a
limit, independent of paging. Paging is really an implementation detail from
the outside.
The requirement is to be able to limit the resources allocated to an address.
If you have a "small" address, there is only so much you can backlog there
before blocking.
comments welcome!
> 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
> Priority: Major
>
> 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)