IBM Support

IT26614: MQ dotnet (.NET) client channel ends abnormally when the heartbeat (HBINT) is reached

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • MQ V9 .dotnet client channels end abnormally when the heartbeat
    interval (HBINT) on the channel is reached.
    
    The queue manager error logs record the following at the
    intervals for the configured HBINT:
    --------------------------------------------------------
    10/11/2018 01:42:20 PM - Process(xxxx.xxx) (mqm)
               Program(amqrmppa)
               Host(TestHost) Installation(Installation3)
               VRMF(x.x.x.x) QMgr(TEST)
    AMQ9999: Channel 'TEST.SVRCONN' to host 'x.x.x.x'
              ended abnormally.
    EXPLANATION:
    The channel program running under process ID xxxx for
     channel 'TEST.SVRCONN'
    ended abnormally. The host name is 'x.x.x.x.'; in some
    cases  the host name cannot be determined and so is shown
    as '????'.
    ACTION:
    Look at previous error messages for the channel program in
    the error logs to determine the cause of the failure.
    Note that this message can be excluded completely or
    suppressed by tuning the "ExcludeMessage" or
    "SuppressMessage"  attributes under the QMErrorLog"
    stanza in qm.ini. Further  information can be found in
    the System Administration Guide.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of a managed .NET application.
    
    
    Platforms affected:
    Windows
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    MQ managed .NET client sends a heartbeat if it does not receive
    any data from the queue manager until the time set in the
    channel heartbeat expires. After sending the heartbeat, the
    client waits for a response from the Queue Manager.  If no
    response is received before the receive timeout value expires
    then the channel is closed by the client.
    
    Since the receive timeout value was incorrectly calculated in
    milliseconds instead of seconds, the channel is closed much
    sooner than a response is received from the server.
    
    Additionally, a coding error meant that a default HBINT of 300
    was proposed to the queue manager by the MQ managed and
    unmanaged .NET client. If this value was higher than the HBINT
    on the SVRCONN channel, then the queue manager would accept this
    value.
    A logic error when negotiating the HBINT value caused the
    connection attempt to be aborted at the client side with
    MQRC_Q_MGR_NOT_AVAILABLE in the following cases:
    
    When using CCDT, if HBINT of CLNTCONN  is set less than SVRCONN
    HBINT
    
    When not using CCDT, if HBINT of SVRCONN is greater 300.
    

Problem conclusion

  • The MQ managed .NET client has been modified to correctly set
    the receive timeout interval in seconds instead of milliseconds
    so that the client waits for the correct receive timeout
    interval.
    
    The MQ managed and unmanaged .NET client has also been modified
    to use the HBINT from the SVRCONN channel definition when
    establishing a connection to the queue manager if a CCDT is not
    being used.
    
    A logic error when negotiating the HBINT value caused the
    connection attempt to be aborted at the client side with
    MQRC_Q_MGR_NOT_AVAILABLE in the following cases:
    
    When using CCDT, if HBINT of CLNTCONN  is set less than SVRCONN
    HBINT.
    
    When not using CCDT, if HBINT of SVRCONN is greater than default
    HBINT of client(300).
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.13
    v9.0 LTS   9.0.0.7
    v9.1 CD    9.1.3
    v9.1 LTS   9.1.0.3
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT26614

  • Reported component name

    IBM MQ BASE M/P

  • Reported component ID

    5724H7261

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-10-15

  • Closed date

    2019-07-04

  • Last modified date

    2019-08-06

  • 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

    IBM MQ BASE M/P

  • Fixed component ID

    5724H7261

Applicable component levels



Document information

More support for: IBM MQ

Software version: 9.0

Reference #: IT26614

Modified date: 06 August 2019