APAR status
Closed as program error.
Error description
An IBM MQ classes for JMS or classes for Java application, configured to use a client channel definition table (CCDT) referenced using a non-file protocol URL such as http or ftp, creates and disconnects connections repeatedly. After enough repetitions a java.lang.OutOfMemory error occurs reporting an exhaustion of Java heap memory. When using a file URL, the same application that creates and closes connections repeatedly does not result in a java.lang.OutOfMemory error being thrown by the JVM.
Local fix
Use a client channel definition table (CCDT) on a file system local to where the application is running such that the file protocol can be used in the URL referencing the CCDT.
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the: - IBM MQ classes for JMS - IBM MQ classes for Java - IBM MQ JCA Resource Adapter - WebSphere Application Server MQ messaging provider with applications that create and close multiple connections during its lifetime using a client channel definition table (CCDT) that is stored on a different system from the one on which the application is running. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When an application requested a new connection using a client channel definition table (CCDT) that was stored on a different system from the one on which the application was running, the CCDT would be read and parsed for each connection request. This was because the parsed contents of the CCDT were only cached if the CCDT file is local to the application and referenced using the "file" protocol in a URL, for example: java.net.URL chanTab1 = new URL("file:///home/admdata/ccdt1.tab"); factory.setCCDTURL(chanTab1); where "factory" is an MQConnectionFactory object. Each time the CCDT was read, a new internal CCDT object was created to represent the CCDT file. The channel definitions that were parsed from the CCDT were then stored within a java.util.HashMap keyed against the CCDT object created. The CCDT object created for each read of the CCDT file would not be equal to any previously created CCDT objects. As such, when the channel definitions from the CCDT were added to the java.util.HashMap using the CCDT object, it did not replace the previous cached entry with the newly parsed channel definitions and the size of the java.util.HashMap grew. The old CCDT and channel definition references were not then removed from the java.util.HashMap cache. This processing occurred within the Java MQI layer.
Problem conclusion
The Java MQI has been updated such that if a client channel definition table (CCDT) is parsed multiple times, any previously cached references to the CCDT or the channel definitions it contained, are removed from the relevant internal java.util.HashMap collections. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.0 CD 9.0.5 v9.0 LTS 9.0.0.9 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
IT22694
Reported component name
IBM MQ BASE M/P
Reported component ID
5724H7261
Reported release
903
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-10-06
Closed date
2017-10-23
Last modified date
2019-10-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
IBM MQ BASE M/P
Fixed component ID
5724H7261
Applicable component levels
R903 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
21 November 2021