[V9.1.2 Mar 2019]

What's changed in IBM MQ 9.1.2

Changes to functions and resources in IBM® MQ 9.1.2 are described in this section. Review these changes before upgrading queue managers to the latest product version and decide whether you must plan to make changes to existing applications, scripts, and procedures before starting to migrate your systems.

[UNIX, Linux, Windows]

Removal of Postcard and Default Configuration wizard

The Postcard application and its supporting Default Configuration wizard, which were used in earlier versions of IBM MQ for installation verification and were deprecated from IBM MQ 9.1.0, are removed from the product at IBM MQ 9.1.2.

[UNIX, Linux, Windows]

The MQCNO_RECONNECT and MQCNO_RECONNECT_Q_MGR parameters

The DISPLAY CONN command displays connection information for applications connected to a queue manager. Two displayed CONNOPS parameters are MQCNO_RECONNECT and MQCNO_RECONNECT_Q_MGR.

If you are using an IBM MQ V9.1.2 or later client, the values displayed for MQCNO_RECONNECT and MQCNO_RECONNECT_Q_MGR are the effective reconnect options. If you are using an earlier client version, the values displayed are whatever the application specifies, whether they are currently taking effect or not.

For more information, see DISPLAY CONN.

[z/OS]

The CONNSWAP parameter

The value of the CONNSWAP parameter is ignored by the CSQ6SYSP macro.

For more information, see Using CSQ6SYP.

In addition, the DISPLAY SYSTEM MQSC command and Inquire System PCF command no longer return CONNSWAP information.

[UNIX, Linux, Windows, IBM i]

New environment variable AMQ_CONVEBCDICNEWLINE

Before IBM MQ 9.1.2, the ConvEBCDICNewline attribute, which you can use to specify how IBM MQ is to convert an EBCDIC NL character into ASCII format, is available only by using the mqs.ini file. From IBM MQ 9.1.2, you can use the AMQ_CONVEBCDICNEWLINE environment variable instead of the ConvEBCDICNewline stanza attribute, for example to provide ConvEBCDICNewline functionality on the client side in situations where the mqs.ini file cannot be used. For more information, see All queue managers and Environment variables descriptions.

[Windows]

New error response MQRC_INCOMPLETE_TRANSACTION

From IBM MQ 9.1.2, the error that is returned if a transactional .NET application attempts to disconnect from a queue manager when there is an active incomplete transaction has changed. A new error response MQRC_INCOMPLETE_TRANSACTION replaces MQRC_UNEXPECTED_ERROR. For more information, see 2147 (0863) (RC2147): MQRC_INCOMPLETE_TRANSACTION.

[AIX]

Change to linking mechanism used in IBM MQ sample code to build Sybase XA switch files

From IBM MQ 9.1.2, the supplied makefile has been modified so that you can use different linking options (-bstatic -bdynamic), which accommodates the change in the format of the XA library files shipped at Sybase 15 ESD#5 and later. For more information, see Sybase configuration.

Updates for messages produced during backout queue and dead letter queue processing for IBM MQ classes for JMS

From IBM MQ 9.1.2, when an attempt by the IBM MQ classes for JMS to re-queue a message either to a specified backout queue, or to the queue manager's dead-letter queue fails, a message is written to the log indicating the message ID of the message, the name of the backout or dead-letter queue the message could not be moved to, and the exception or error that prevented the move.
  • A failure to move a message to the backout queue results in the following log message:
    JMSWMQ1120 = Message "message ID", could not be moved to backout queue 
    "backout queue name" for reason "exception or error", it will be  
    moved to the dead letter queue or discarded.
  • A failure to move a message to the dead-letter queue results in the following log message:
    JMSWMQ0035 = Message "message ID", could not be moved to dead letter queue 
    "dead-letter queue name" because of exception "exception or  error", 
    it will be returned to the source queue.
  • If there is an exception listener registered on a consumer which tries and fails to re-queue a message to the dead-letter queue, as well as the log message being written, an exception containing the exception message text is sent to this exception listener:
    JMSWMQ1079: Unable to write a message to dead letter queue.
For more information, see JMS Exception Messages.

Change to authorities needed for IBM MQ classes for JMS to query the BackoutThreshold and BackoutRequeueQName of a cluster queue

From IBM MQ 9.1.2, the IBM MQ classes for JMS have been updated so that only inquire access is required to query the BackoutThreshold and BackoutRequeueQName of a cluster queue. Before IBM MQ 9.1.2, browse and get access are also required. For more information, see Handling poison messages in IBM MQ classes for JMS.

Java exceptions no longer returned in REST JSON error responses

Previously, when an error response was returned by the REST API and the error was a Java error, the JSON response included details of the Java exception. From IBM MQ 9.1.2, this information is no longer returned. For more information about REST API error responses, see REST API error handling.

Improvements in performance to queue manager shutdown times

From IBM MQ 9.1.2, in certain situations which previously could have caused an extended period between issuing the endmqm command, and the queue manager stopping, the shutdown period has been very significantly reduced.
Attention: This is a significant change in performance, therefore, IBM MQ applications and queue manager topologies that make assumptions about extended shutdown periods, might effectively see changes in behavior in some cases.

As an extreme example, in circumstances where remote SENDER channels would have been notified that the receiver was ending during a slower shutdown, this might now only be detected when the next message is sent (which could, as expected, result in loss of non-persistent messages if using the setting NPMSPEED HIGH).

[Windows]

Changes to Windows program directory security permissions

The IBM MQ installer on Windows now sets additional permission restrictions as part of the security configuration of the MQ installation directories. The logic that does this is run at installation, upgrade, modification, and fix pack installation time.

You might find that, due to the increased security, you are unable to do certain things exactly the same way you used to do them. For example:
  • An MQ Administrator (who is not also a member of the Administrators group) can no longer edit or recompile the sample programs in the Tools subdirectory. If you wish to do this, take a copy of the directory (or the portions you are interested in) and change your copies of the build scripts to reflect the new location.

In normal use, however, you should be unaware of the change, except for the little extra time required by the installer to make the changes. During this period the message Initializing security... will be displayed. A similar short pause will occur when installing the fix pack files or applying a patch.

The update of the security writes a log (amqidsec-<Installationname>.txt) to the TEMP directory on the machine. If you see the main install failing in custom action 'iwiLaunchAmqidsec', you should consult this file.