Skip to main content

IBM Websphere MQ - Number of client channels increasing - Middleware News

The number of client channels increase over time and never decreases.

Cause

This occurs because the queue manager does not detect that the client has been disconnected, and therefore holds onto the transaction.

Resolving the problem

To ensure the queue manager detects when the client is no longer there, set a new property on the Channel Stanza named ClientIdle. This property is set to a value that is defined in seconds.

Windows

Use the following command:
amqmdain reg -c add -s Channels -v ClientIdle=


UNIX and iSeries
Set in the QM.ini file using a new stanza, as follows:
Channels:
ClientIdle=

Note: On all operating systems, you must restart the queue manager for the parameter to take effect .

Additional information
An explanation of the ClientIdle property from WebSphere MQ development:

A brief description of how the ClientIdle property works is in the case of a CLNTCONN/SVRCONN channel pair. If the client terminates due to a network connection problem, the queue manager fails to detect that the client has been disconnected and therefore holds onto the transaction. In this case the queue manager will wait for a transaction command (prepare,commit, etc.) from the client , but this will not happen because the client is no longer available.

In such situations the queue manager can be made aware of the orphaned connection by either setting the TCP KeepAlive in the qm.ini .This is a OS parameter and defaults to 2 hours .The SVRCONN will detect of failed client connection and will be cleaned the next time the KeepAlive is triggered.
The other solution to the above is to implement an 'undocumented' tuning parameter 'ClientIdle' under the Channels stanza in the qm.ini.

Client Idle Time Out provides a mechanism to allow system administrators to specify the equivalent of a disconnect(DISCINT) for SVRCONN channels. After the Client Idle period has elapsed without any
communication from the client, the server MCA will close the connection to the client.

Without Client Idle Time Out, there is no mechanism for 'timing out' SVRCONN connections which have not performed any activity for some time. Because of the nature of SVRCONN connections, a client which has disconnected without sending notification will also result in the SVRCONN MCA hanging for a long time(potentially with an associated uncommitted Unit of Work), until TCP/IP KeepAlive is triggered to free it up.

The ClientIdle parameter is available from version 5.3 onwards, so this feature will not be effective on 5.2 libraries.

Setting the ClientIdle to 10 minutes will cause the svrconn channel to remain active for 10 minutes, then close the connection if there is no activity from the client side during that 10 minute interval. The ClientIdle parameter will help in closing any orphaned or hung channel connections, and will not have a negative impact on performance.

Comments

adsrerrapop

Popular posts from this blog

IBM Websphere MQ interview Questions Part 5

MQ Series: - It is an IBM web sphere product which is evolved in 1990’s. MQ series does transportation from one point to other. It is an EAI tool (Middle ware) VERSIONS:-5.0, 5.1, 5.3, 6.0, 7.0(new version). The currently using version is 6.2 Note: – MQ series supports more than 35+ operating systems. It is platform Independent. For every OS we have different MQ series software’s. But the functionality of MQ series Default path for installing MQ series is:- C: programfiles\BM\clipse\SDK30 C: programfiles\IBM\WebsphereMQ After installation it will create a group and user. Some middleware technologies are Tibco, SAP XI. MQ series deals with two things, they are OBJECTS, SERVICES. In OBJECTS we have • QUEUES • CHANNELS • PROCESS • AUTHENTICATION • QUERY MANAGER. In SERVICES we have LISTENERS. Objects: – objects are used to handle the transactions with the help of services. QUEUE MANAGER maintains all the objects and services. QUEUE: – it is a database structure

IBM Websphere MQ Reason code list / mq reason codes / websphere mq error codes / mq error messages

Reason code list ================= The following is a list of reason codes, in numeric order, providing detailed information to help you understand them, including: * An explanation of the circumstances that have caused the code to be raised * The associated completion code * Suggested programmer actions in response to the code * 0 (0000) (RC0): MQRC_NONE * 900 (0384) (RC900): MQRC_APPL_FIRST * 999 (03E7) (RC999): MQRC_APPL_LAST * 2001 (07D1) (RC2001): MQRC_ALIAS_BASE_Q_TYPE_ERROR * 2002 (07D2) (RC2002): MQRC_ALREADY_CONNECTED * 2003 (07D3) (RC2003): MQRC_BACKED_OUT * 2004 (07D4) (RC2004): MQRC_BUFFER_ERROR * 2005 (07D5) (RC2005): MQRC_BUFFER_LENGTH_ERROR * 2006 (07D6) (RC2006): MQRC_CHAR_ATTR_LENGTH_ERROR * 2007 (07D7) (RC2007): MQRC_CHAR_ATTRS_ERROR * 2008 (07D8) (RC2008): MQRC_CHAR_ATTRS_TOO_SHORT * 2009 (07D9) (RC2009): MQRC_CONNECTION_BROKEN * 2010 (07DA) (RC2010): MQRC_DATA_LENGTH_ERROR * 2011 (07DB) (RC2011): MQRC_DYNAMIC_Q_NAME_ERROR * 2012 (07DC) (RC201

IBM WebSphere MQ – Common install/uninstall issues for MQ Version on Windows - Middleware News

Creating a log file when you install or uninstall WebSphere MQ WebSphere MQ for Windows is installed using the Microsoft Installer (MSI). If you install the MQ server or client through launchpad , MQPARMS or setup.exe , then a log file is automatically generated in %temp% during installation. Alternatively you can supply parameters on the installation MSI command msiexec to generate a log file, or enable MSI logging system-wide (which generates MSI logs for all install and uninstall operations). If you uninstall through the Windows Add/Remove programs option, no log file is generated. You should either uninstall from the MSI command line and supply parameters to generate a log file, or enable MSI logging system-wide (which generates MSI logs for all install and uninstall operations). For details on how to enable MSI logging, see the following article in the WebSphere MQ product documentation: Advanced installation using msiexec For details on how to enable system-w