IBM Support

PK98544: MDB WITH BEAN MANAGED TRANSACTION AND USING MESSAGE LISTENER SERVICE IN NON-ASF MODE DOESNOT REQUEUE BACKOUT MESSAGES.

Fixes are available

7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
6.1.0.31: Java SDK 1.5 SR11 FP1 Cumulative Fix for WebSphere Application Server
6.1.0.33: Java SDK 1.5 SR12 FP1 Cumulative Fix for WebSphere
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
6.1.0.35: Java SDK 1.5 SR12 FP2 Cumulative Fix for WebSphere
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
6.1.0.37: Java SDK 1.5 SR12 FP3 Cumulative Fix for WebSphere
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
6.1.0.47: WebSphere Application Server V6.1 Fix Pack 47
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
6.1.0.39: Java SDK 1.5 SR12 FP4 Cumulative Fix for WebSphere Application Server
6.1.0.41: Java SDK 1.5 SR12 FP5 Cumulative Fix for WebSphere Application Server
6.1.0.43: Java SDK 1.5 SR13 Cumulative Fix for WebSphere Application Server
6.1.0.45: Java SDK 1.5 SR14 Cumulative Fix for WebSphere Application Server
6.1.0.47: Java SDK 1.5 SR16 Cumulative Fix for WebSphere Application Server
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Backout message queue handling not properly working in non-ASF
    mode for message-driven beans using bean-managed transactions
    (BMT) with the NON.ASF.BMT.ROLLBACK.ENABLED message listener
    service custom property enabled.
    
    In the BMT case with NON.ASF.BMT.ROLLBACK.ENABLED set there
    seems to be a need for another successful message to be
    processed by the message-driven bean, before the failing
    message is re-queued to the backout queue. If no message
    arrives, the message is never committed to the backout queue,
    and the uncommitted status of both the source queue and
    backout queue is UNCOM(YES).
    
    Whereas in the container-managed transaction (CMT) case
    messages requeued to their backout queues without another
    message being successfully processed.
    However, there might be a delay of up to the configured
    NON.ASF.RECEIVE.TIMEOUT timeout before the message arrives.
    
    In CMT case the only mechanism available to reduce the amount
    of time it takes to move messages to the backout queue or
    exception destination in non-ASF mode is to reduce the
    NON.ASF.RECEIVE.TIMEOUT.
    For example, setting this to 1000 milliseconds would mean in
    most scenarios  it takes a up to 1 second to move messages to
    the backout queue after a rollback.
    

Local fix

  • use ASF mode or use CMT with acceptable NON.ASF.RECEIVE.TIMEOUT
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of IBM WebSphere Application Server   *
    *                  Version 6.1 or Version 7.0, using           *
    *                  WebSphere MQ as a messaging provider        *
    ****************************************************************
    * PROBLEM DESCRIPTION: Messages not delivered to the           *
    *                      WebSphere MQ backout queue for          *
    *                      a message-driven bean using             *
    *                      bean-managed transactions and a         *
    *                      non-ASF message listener port           *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A delay moving messages to the backout queue when in non-ASF
    mode, up to the configured non-ASF receive timout
    (NON.ASF.RECEIVE.TIMEOUT), is expected for all transaction
    modes. This is due the fact that the delivery of messages to
    the backout queue does not occur as part of the rollback.
    Instead, it occurs silently within the WebSphere MQ JMS client
    the next time a non-ASF receive thread calls attempts to
    receive a message from the queue.
    
    The move of the invalid message (that has reached the backout
    threshold) to the backout queue occurs within the same unit of
    work as the synchronous receive that is looking for new
    messages to pass to the onMessage method of the message-driven
    bean. When there are no valid messages available on the queue
    (only invalid messages that have already reached the backout
    threshold) the synchronous receive returns null to the non-ASF
    listener after the timeout configured in the
    NON.ASF.RECEIVE.TIMEOUT property has been reached.
    
    The move of the message to the backout queue remains indoubt
    within WebSphere MQ until the unit of work is completed.
    
    In the container-managed transaction (CMT) case, this occurs
    successfully because the container commits the transaction that
    includes the WebSphere MQ unit of work, even if the receive
    call returned null (and the MDB was not called).
    
    However, if bean-managed transactions are used with a non-ASF
    listener port and the NON.ASF.BMT.ROLLBACK.ENABLED property
    enabled, then the JMS client-acknowledgment interface
    currently used does not provide any mechanism to commit the
    unit of work under which the message was moved to the backout
    queue (which is internal to the WebSphere MQ JMS client).
    
    This leaves the unit of work indoubt indefinitely, until
    another message arrives on the queue and is processed
    successfully by the message-driven bean, on the same non-ASF
    receive thread where WebSphere MQ performed the backout requeue.
    

Problem conclusion

  • The fix for this APAR changes the internal implementation of
    the BMT rollback behavior (enabled with the
    NON.ASF.BMT.ROLLBACK.ENABLED property) to use a
    transacted JMS session, rather than client-acknowledgment, to
    complete or rollback consumption of messages
    As a result, message are correctly moved to the backout queue
    within the non-ASF receive timeout specified by the
    NON.ASF.RECEIVE.TIMEOUT property.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 6.1.0.31 and 7.0.0.9.  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

    PK98544

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    61S

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-10-14

  • Closed date

    2009-11-16

  • Last modified date

    2009-11-16

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R61A PSY

       UP

  • R61H PSY

       UP

  • R61I PSY

       UP

  • R61P PSY

       UP

  • R61S PSY

       UP

  • R61W PSY

       UP

  • R61Z PSY

       UP

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 December 2021