PM00654: WMQ MESSAGES ARE NOT ROLLED BACK AFTER A CANCEL SIGINT CNTRL-C OF THE JAVA CLIENT.

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Java 1.5 client does not rollback messages when a cancel
    cntrl-c of the java client is issued.
    The cntrl-c sigint is being returned as normal completion to WMQ
    A commit will occur when a normal termination is returned.
    .
    A rollback will occur for abnormal terminations.
    .
    In this case, SIGINT terminates with normal completion and
    messages are committed not rolled back.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of WebSphere MQ for z/OS Version   *
    *                 7 Release 0 Modification 1 with the MQ Java  *
    *                 Feature.                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: If an MQ Java application terminates    *
    *                      due to a CTRL-C being issued, any       *
    *                      inflight units of recovery are          *
    *                      committed by MQ.                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a Java application terminates after performing some
    in-syncpoint MQ work, but before that work has been committed or
    backed out, MQ on z/OS will use the task termination state
    (normal or abnormal) to determine how to resolve the inflight
    work.
    
    For some termination conditions, the JVM will handle the
    failure, and will end with an appropriate return code. This
    causes the z/OS task to end normally, and results in MQ
    committing the unresolved units of recovery.
    
    Depending on the specific environment in which the application
    is running, conditions which are treated in this way include
    unhandled exceptions, CTRL-C and most posix signals.
    
    This issue is seen for MQ Java and MQ JMS applications which
    connect directly to MQ (bindings-mode connections), where no
    external transaction coordinator is used.  Applications which
    connect using client connections, and those with an external
    transaction coordinator (e.g.  RRS, WebSphere Application
    Server, WebSphere Message Broker or CICS) are not affected.
    

Problem conclusion

  • The PTF for JMS Fixpack 7.0.1.2, APAR PM03853, needs to be
    applied to make this PTF functional.
    
    When both parts of the fix are applied, the default behavior
    for MQ Java and MQ JMS applications will change.  Upon
    termination, any in-syncpoint work which is in-flight will
    always be backed out, regardless of the type of termination.
    
    The new behavior is consistent with MQ Java on other systems,
    and provides better portability between platforms for MQ Java
    applications.
    
    It is recommended that Java applications explicitly commit MQ
    work.  If an application relies on the implicit commit which MQ
    would previously have performed at application termination, then
    the old behavior can be restored by setting the Java system
    property:
    
    com.ibm.mq.termination.mode=compatibility
    
    
    The following documentation changes are made:
    
    WebSphere MQ Application Programming Reference
    Version 7.0
    SRL SC34-6940-01
    Section:
    "Function Calls"
     "MQDISC Disconnect Queue Manager"
      "Usage notes"
    Information center topic: fr17120_
    Change point 2-b to
    "If the application ends normally but without issuing the MQDISC
     call, the action taken depends on the environment:
    
        * On z/OS, except for MQ Java or MQ JMS applications, the
          actions described under (a) above occur.
        * In all other cases, the actions described under (c) below
          occur.
    
     Because of the differences between environments, ensure that
     applications that you want to port commit or back out the unit
     of work before they end."
    
    WebSphere MQ Using Java
    Version 7.0
    SRL SC34-6935-01
    Section:
    "WebSphere MQ classes for Java"
     "Environment-dependent behavior"
      "Restrictions and variations for core classes"
       "Miscellaneous differences with z/OS"
    Information center topic: ja11500_
    Remove the item with heading "Application termination".
    
    010Y
    CSQBCON
    CSQDACE
    CSQMCUWT
    CSQMEXTC
    CSQ3EOTS
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM00654

  • Reported component name

    WMQ Z/OS V7

  • Reported component ID

    5655R3600

  • Reported release

    010

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-09

  • Closed date

    2009-12-24

  • Last modified date

    2010-02-02

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

    PK97748

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

    UK53239

Modules/Macros

  • CSQBCON  CSQDACE  CSQMCUWT CSQMEXTC CSQ3EOTS
    

Publications Referenced
SC34694001 SC34693501      

Fix information

  • Fixed component name

    WMQ Z/OS V7

  • Fixed component ID

    5655R3600

Applicable component levels

  • R010 PSY UK53239

       UP10/01/23 P F001

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

z/OS family

Software version:

7.0.1

Reference #:

PM00654

Modified date:

2010-02-02

Translate my page

Machine Translation

Content navigation