MQRC_CHANNEL_NOT_AVAILABLE

MQRC_CHANNEL_NOT_AVAILABLE

book

Article ID: KB0079846

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks Plug-in for IBM MQ 8.5.1

Description

Some customers may not configure the require client confirmation in the WMQ listener activity due to which if there are more number of listener activities present in the customer’s project then the customer may face below error in the MQ plugin

============================================
Error :-
MQRC_CHANNEL_NOT_AVAILABLE]-{ProcessStarterActivityName=<activity name>, ProcessName=<ProcessName>, ModuleName=<ModuleName>}DEBUG [pool-13-thread-1] F.L.DefaultLogger - TIBCO-BW-PALETTE-MQ-200001: Activity [ ] has created Queue Manager connection parms object [{Header Compression Property=[8], userID=id}]
============================================

The above error is caused when the connection on the queue manager reaches to the maximum level. In this scenario when the listener activities which are configured without the client confirmation option due which the Each process that is executing will require one channel connection for MQ connection that it uses. Each Listener/Subscriber thread in the system also uses a connection. Typically this amounts to a small number of connections which are pooled and doesn't rise and fall much, however there is one circumstance which can consume a lot of connections:

-If a listener/subscriber is NOT configured to require client confirmation and it creates a process which uses MQ palette activities.

-This listener may receive a large number of messages and spawn a number of jobs, which themselves could require a connection each.

-if these jobs involve significant latency the connections will be held by the job till it ends, resulting in a lot of concurrent connections.

Issue/Introduction

MQRC_CHANNEL_NOT_AVAILABLE

Environment

Business Works.

Resolution

As a resolution to the above explained scenario we request customer to please enable the "Require Client Confirmation" and place a "Confirm" activity after the listener so that it will prevent the extra connections.