Add an attribute to be able to configure max-read-page-bytes

Overview

In order to avoid OutOfMemoryException, Apache Artemis has defined an upper limit for paging. This limit is controller though the max-read-page-bytes which is not exposed not configureable from WildFly. So we are adding a new max-read-page-bytes attribute to be able to set that value.

max-read-page-messages and max-read-page-bytes are used to control messaging reading from paged file into the Queue. The broker will add messages on the Queue until either max-read-page-meessages or max-read-page-bytes reaches the limit.

If both values are set to -1 the broker will keep reading messages as long as the consumer is reaching for more messages. However this would keep the broker unprotected from consumers allocating huge transactions or consumers that don’t have flow control enabled.

Issue Metadata

Issue

Dev Contacts

QE Contacts

Testing By

  • [X] Engineering

  • QE

Affected Projects or Components

  • WildFly

Other Interested Projects

Relevant Installation Types

  • Traditional standalone server (unzipped or provisioned by Galleon)

  • Managed domain

  • OpenShift s2i

  • Bootable jar

Requirements

Add a new `max-read-page-bytes`attribute to the /subsystem=messaging-activemq/server/address-setting resource to define the paging memory size.

Hard Requirements

Create the attribute to be able to configure the Artemis broker.

Nice-to-Have Requirements

Non-Requirements

Backwards Compatibility

Default Configuration

Importing Existing Configuration

Deployments

Interoperability

Implementation Plan

  • Add a positive INT max-read-page-bytes attribute, with a default value set to -1 in bytes. It is not required.

Security Considerations

Test Plan

  • Changes in Wildfly management model will be covered in WF testsuite.

Community Documentation

  • Covered by attribute description in management model.

Release Note Content