Dynamic IMS Message Queue Expansion

In earlier versions of Enterprise Server, the Maximum blocks size as specified for an enterprise server region on the Enterprise Server Administration Server > Properties > MSS > IMS > TM > General page was a static allocated message queue size on a cold start. Subsequent changes had no effect until the execution of the next cold start.

Starting with Enterprise Server version 2.3, Maximum blocks specifies a size limit to which the message queue data store can expand. The initial (default) allocation is always the minimum number of blocks required, meaning the number of blocks initially allocated is equal to or greater than the number of buffers specified in the Queue buffer count. As the application runs, blocks are allocated and formatted as needed up to this limit.

In addition to increasing the size of the data store, you can also modify the percentage of allocated blocks to reserve as a cushion that provides enough emergency allocation space to enable graceful intervention should it be required due to lack of space.

The Maximum blocks specification is initially set to a default value of 32 blocks by Enterprise Server Administration. You can optionally alter this value before starting your enterprise server region. Once started, you can optionally increase the number of blocks and the cushion size, and apply the new settings from the IMS Control page in ESMAC while the region is running.

At any time, you can effectively reduce the maximum number of blocks down to the size of the current message queue physical allocation. Once physically allocated, message queue space cannot be reduced dynamically. This requires a cold start.

At startup, if the maximum size set in Enterprise Server Administration is smaller than the current physical message queue size, the maximum size is set to the message queue physical size.

After startup, you can adjust the maximum message queue size to any size starting with the number of blocks that represent the physical size of the current message queue, and up to the architectural limit of 63488 blocks.