IBM Support

IY88878: WEBSPHERE MQ RECEIVES AMQ7605, TM051000, XAER_PROTO ON TWO PHASE COMMIT WITH JCC TYPE 4 DRIVER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In WebSphere MQ, when using a Base Java Application which uses a
    TYPE 4 JCC (DB2 Java Universal) driver to coordinate a 2 phase
    commit with a DB2 resource manager, it fails with AMQ7605 for
    return code -6 (XAER_PROTO) on an xa_prepare call.
    This problem is caused by a driver limitation. The TYPE 4 driver
    does not perform 'xa_end' as soon as 'xa_end' is received. When
    the driver receives the next DRDA, then it performs 'xa_end'.
    Because of this specification, The JCC Type 4 driver cannot
    handle Scenarios invlving XA calls coming from separate
    processes.
    
    In the Websphere MQ case, the driver receives 'xa_end' from  the
    application process, JAVA.exe and then waits for the
    'xa_prepare' from JAVA.exe.  Instead it receives 'xa_prepare'
    from amqzlaa0 and this is the cause of the error.
    
    The JCC driver will introduce a new property "XAOptimization"
    that can be turned on/off. The default for this property is true
    (on) which is our current behavior. To solve the MQ problem the
    application will switch it "off" by setting it to false.
    There will be a new datasource method to set the value of this
    property. This can be turned on/off at the datasource/URL level
    and will stay on/off whatever is set at the time of obtaining
    the connection for the life of the connection.
    

Local fix

  • Use Type 2 driver
    

Problem summary

  • In WebSphere MQ, when using a Base Java Application which uses a
    TYPE 4 JCC (DB2 Java Universal) driver to coordinate a 2 phase
    commit with a DB2 resource manager, it fails with AMQ7605 for
    return code -6 (XAER_PROTO) on an xa_prepare call.
    This problem is caused by a driver limitation. The TYPE 4 driver
    does not perform 'xa_end' as soon as 'xa_end' is received. When
    the driver receives the next DRDA, then it performs 'xa_end'.
    Because of this specification, The JCC Type 4 driver cannot
    handle Scenarios invlving XA calls coming from separate
    processes.
    
    In the Websphere MQ case, the driver receives 'xa_end' from  the
    application process (java) and then waits for the
    'xa_prepare' from the application. Instead it receives
    'xa_prepare' from amqzlaa0 and this is the cause of the error.
    

Problem conclusion

  • The JCC driver will introduce a new property "XAOptimization"
    that can be turned on/off. The default for this property is true
    (on) which is our current behavior. To solve the MQ problem the
    application will switch it "off" by setting it to false.
    There will be a new datasource method to set the value of this
    property. This can be turned on/off at the datasource/URL level
    and will stay on/off whatever is set at the time of obtaining
    the connection for the life of the connection.
    

Temporary fix

  • Use a Type 2 connection.
    

Comments

APAR Information

  • APAR number

    IY88878

  • Reported component name

    DB2 UDB ESE AIX

  • Reported component ID

    5765F4100

  • Reported release

    820

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-08-25

  • Closed date

    2008-11-09

  • Last modified date

    2008-11-09

  • 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

    DB2 UDB ESE AIX

  • Fixed component ID

    5765F4100

Applicable component levels

  • R910 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"820","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
09 November 2008