IBM Support

PI80377: NEW ACTIVIATION SPEC PROPERTIES - CONTROL BUILD UP/FLOW OF MDB REQUESTS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Customer requested a finer grain approach for controlling the
    build up of requests in relation to available server sessions
    and memory requirements regarding MDB processing when using a
    WebSphere MQ Activation Specification on z/OS.
    
    WMQ Activation Specification driven MDBs on z/OS listen in the
    Control Region Adjunct (CRA) which provides a throttle to
    limit how many messages are concurrently processed by the
    listener.
    
    The size of the throttle is calculated as follows:
    
    If the number of active servant regions is 0 then the throttle
    limit is 0.
    
    If the number of active servant regions is greater than 0 then
    the throttle limit is number of active servants * maxPoolDepth
    of Activation Spec * MaxInFlightMessagesScaleFactor +
    MaxInFlightMessagesConstant.
    
    By default the MaxInFlightMessagesScaleFactor is 1.0 and the
    MaxInFlightMessagesConstant is 0.  The defaults can be
    overriden by JVM system properties, but only on a JVM wide
    basis, not per activation specification. There is no way to
    configure an individual MDB listener's throttle to scale
    with active servant regions in a manner that is independent of
    the maxPoolDepth property.
    
    In certain use cases it is desirable that:
    
    - the servant regions are configured with a value of
    maxPoolDepth that is high enough to prevent the Message Driven
    Bean running in the servant region from blocking as it waits
    for a free server session (while also consuming system
    resources such as WLM enclaves)
    - while at the same time being able to constrain the total
    concurrent processing of messages for a specific listener via
    the throttle in the control region adjunct in a manner
    that scales with the number of available servant regions
    
    This throttle behaviour is not possible with the configuration
    options currently available.  Further configuration options
    should be provided.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  WebSphere Application Server users of       *
    *                  WebSphere MQ Activation Specifications on   *
    *                  z/OS.                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: The configuration options of the        *
    *                      throttle for MDBs listening in the      *
    *                      Control Region Adjunct are too          *
    *                      limited.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Message Driven Beans driven by WebSphere MQ Activation
    Specifications listen in the control region adjunct which
    provides a throttle to limit the number of messages that may
    be processed concurrently.  One factor in calculating the
    throttle size is the maxPoolDepth property of the related WMQ
    Activation Specification, however this property also defines
    the maximum number of Server Sessions available for the MDB in
    the servant region.  It may be desirable that the throttle
    size is configured independently of this value, in a manner
    that scales with the number of active servant regions, and in
    a manner that is unique to each activation specification.
    This is not possible with the current set of options available
    for configuring the throttle.
    

Problem conclusion

  • Message Driven Beans driven by WMQ Activation Specifications
    on z/OS listen in the Control Region Adjunct (CRA) which
    provides a throttle to limit how many messages are
    concurrently processed by the listener.
    
    The size of the throttle is calculated as follows:
    
    If the number of active servant regions is 0 then the throttle
    limit is 0.
    
    If the number of active servant regions is greater than 0 then
    the throttle limit is number of active servants * maxPoolDepth
    of Activation Spec * MaxInFlightMessagesScaleFactor +
    MaxInFlightMessagesConstant.
    
    By default the MaxInFlightMessagesScaleFactor is 1.0 and the
    MaxInFlightMessagesConstant is 0.
    
    Throttle limits less than 0 are treated as 0.
    
    The MaxInFlightMessagesConstant and
    MaxInFlightMessagesScaleFactor used in this calulcation can be
    modified using the following JVM system properties:
    com.ibm.ws.wmqra.zdispatcher.MaxInFlightMessagesConstant
    com.ibm.ws.wmqra.zdispatcher.MaxInFlightMessagesScaleFactor.
    This effects the throttles for all MDBs listening in the CRA.
    
    The default value of MaxInFlightMessagesConstant is 0.
    The default value of MaxInFlightMessagesScaleFactor is 1.0F.
    
    This APAR introduces three new properties that may be used to
    control the throttle for each WMQ Activation Specification in
    a manner that is both specific to each activation spec and
    indpenent of the maxPoolDepth value.
    
    The properties are configurable as new properties in the comma
    separated string value of the "arbitrary properties" advanced
    property of the WMQ Activation Specification for which the
    properties are to apply.
    
    The new properties are as follows:
    
    was390_throttle_perSR:
    If specified, this value overrides the use of the maxPoolDepth
    when calculating the throttle size. This number may be 0 so
    that the throttle is always a constant value, but may not be
    negative.
    
    was390_throttle_constant:
    If specified, this value overrides the value of
    MaxInFlightMessagesConstant. This number may be negative.
    
    was390_throttle_scaleFactor:
    If specified, this value overrides the value of
    MaxInFlightMessagesScaleFactor This number should be
    non-negative.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.5.5.13 and 9.0.0.6.  Please refer to the
    Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI80377

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-21

  • Closed date

    2017-07-27

  • Last modified date

    2017-07-27

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
18 October 2021