APAR status
Closed as program error.
Error description
When attempting to subscribe to more than 100 topics in a single MQTT subscribe call, the client is disconnected and an FDC is generated with: Probe Id :- XR055005 and exception and stack: java.lang.IllegalStateException: MQTTWireContext repeated retry:RETRY at com.ibm.mq.MQXRService.MQTTWireContext.receive(MQTTWireContext.j ava:403) at com.ibm.mq.communications.NonBlockingConnection.receive(NonBlock ingConnection.java:378) at com.ibm.mq.communications.NonBlockingWorker.run(NonBlockingWorke r.java:339) at java.lang.Thread.run(Thread.java:809) The last entries in the history will be subscribes, for example: 2 Tue Oct 24 15:09:16 BST 2017 RECEIVED_MQTT mqttMessageType:SUBSCRIBE 3 Tue Oct 24 15:09:16 BST 2017 RECEIVED_MQTT mqttMessageType:SUBSCRIBE If this is traced, the trace will show a TransactionFullException being generated: 13.59.46.738 31 @XXXXXXXX com.ibm.mq.MQXRService.MQTTServerSessionV3 ----+---- { receiveSubscribe [com.ibm.mqttv3.internal.MQTTSubscribe@XXXXXXXX] [SUBSCRIBE] [1] [clientID] 13.59.46.738 31 @XXXXXXXX com.ibm.mq.MQXRService.MQTTServerSessionV3 ----+----+ { registerSubscriptions [com.ibm.mqttv3.internal.MQTTSubscribe@XXXXXXXX] 13.59.46.738 31 com.ibm.mq.MQXRService.MQXRServiceException ----+----+- { <init> [com.ibm.mq.MQXRService.TransactionFullException] [com.ibm.mq.MQXRService.MQTTServerSessionV3@XXXXXXXX,clientident ifier=clientID,conname=X.X.X.X] [class com.ibm.mq.MQXRService.TransactionFullException] 13.59.46.738 31 com.ibm.mq.MQXRService.MQXRServiceException ----+----+- } <init> [com.ibm.mq.MQXRService.TransactionFullException] 13.59.46.738 31 @XXXXXXXX com.ibm.mq.MQXRService.MQTTServerSessionV3 ----+----+ } registerSubscriptions [%C%] [com.ibm.mq.MQXRService.TransactionFullException] 13.59.46.738 31 @XXXXXXXX com.ibm.mq.MQXRService.MQTTServerSessionV3 ----+---- } receiveSubscribe [%C%] [com.ibm.mq.MQXRService.TransactionFullException]
Local fix
Ensure that each subscribe action has less number of topics then the value of maximumSubscriptionOperationsPerBatch
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users trying to subscribe an MQTT client to more than 100 topics in a single subscribe call Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When an MQTT client tried to subscribe to more than 100 topics in a single subscribe call, this failed, causing an FDC with probe XR055005 to be generated, and the client to be disconnected. This was because of a hard-coded limit to the number of topics that could be subscribed to in a single subscribe call by an MQTT client. This limit could not be modified.
Problem conclusion
The limit to the number of subscriptions that can be made in a single MQTT subscribe call is now configurable - so if the user intends to subscribe to more than 100 topics in a single subscribe call this limit can be increased to allow this. To modify the limit, set the following property: com.ibm.mq.MQXR.MaximumSubscriptionOperationsPerBatch=<required value> in the MQXR properties file: <MQ_DATA_DIRECTORY>/qmgrs/<QUEUE_MANAGER_NAME>/mqxr/mqxr_unix.pr operties for Linux, or the mqxr_win.properties file at the same directory for Windows. Note that the default value for the maximumOperationsPerBatch property - which specifies the total operations per batch, not just subscriptions - is 500. If setting the value of MaximumSubscriptionOperationsPerBatch to more than 500, the value of maximumOperationsPerBatch will also have to be increased to that higher value, by setting the property: com.ibm.mq.MQXR.MaximumOperationsPerBatch=<required value> in the same properties file as the MaximumSubscriptionOperationsPerBatch property is set. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v8.0 8.0.0.9 v9.0 CD 9.0.5 v9.0 LTS 9.0.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
IT20441
Reported component name
WMQ BASE MULTIP
Reported component ID
5724H7251
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-05-03
Closed date
2017-12-04
Last modified date
2017-12-04
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
WMQ BASE MULTIP
Fixed component ID
5724H7251
Applicable component levels
R800 PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
04 December 2017