######################################################################## # # # COMPONENT_NAME: MQSeries # # # # FILE: MEMOPTF # # # # Program Number 5724-A39 # # (C) COPYRIGHT International Business Machines Corp. 1995, 2001 # # All Rights Reserved # # Licensed Material - Property of IBM # # # # US Government Users Restricted Rights - Use, duplication or # # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # # ######################################################################## PTF Memo for IBM MQSeries for Compaq NonStop Kernel, Version 5.1 10/29/04 ------------------------------------------------------------------------ This memoptf file contains information you need for updating IBM MQSeries for Compaq NonStop Kernel V5.1, as well as a summary of the contents of the latest CSD and any earlier CSDs. This memoptf file corresponds to the third CSD, which is defined as PTF IP22817 and is numbered 03. The third CSD will bring your MQSeries for Compaq NonStop Kernel 5.1 installation up to service level IP22817(CSD03). This CSD can be used to update the MQSeries for Compaq NonStop Kernel V5.1 server. The memoptf file for this CSD is divided into the following sections: o Installation and maintenance information o Documentation changes o Special information o Service and technical support o CSD history ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INSTALLATION AND MAINTENANCE INFORMATION ---------------------------------------- Maintenance updates can be supplied on CD-ROM, or they can be downloaded from the World Wide Web. ** Precaution ************************************************** * * * Do not have queue managers running while you are applying * * or removing maintenance updates to MQSeries for Compaq * * NonStop Kernel * * * * You may be required to relink / rebind your MQSeries * * applications if you use the static libraries MQMLIB or * * MQMLIBN, see the Special Information section for details. * * For MQSeries applications that use the SRL MQSRLLIB this is * * not required, however an NLD -CHANGE LIBNAME is recommended. * * * * It is required for installations that use their own MQSeries * * private SRL, for exits as an example, be rebuilt and all * * MQSeries applications and user applications be relinked to * * the new PSRL. * * * **************************************************************** Backup your original MQSeries for Compaq NonStop Kernel executables and libraries that are being replaced. Ensure that all Queue Managers have been ended. Ensure that you have up to date copies of the configuration scripts (RUNMQSC command files) that were used to create any existing Queue Managers. If installing from an archive (pak file): 1. Logon as the user-id in the MQM group owning the MQSeries Installation, for example MQM.MANAGER. 2. Move the pak file to subvolume ZMQSPTF. Ensure that the UNPAK utility is in the default program search path for the MQSeries Installation owner, for example MQM.MANAGER. If your system does not contain a copy of UNPAK, contact HP support, it is provided with newer OS releases. 3. Restore the install program (instmqm), memoptf and readme files from the archive file as follows: UNPAK IP22817, $*.INSTALL.*, MAP NAMES $*.*.* TO & $.ZMQSPTF.*, LISTALL, MYID 4. Invoke the install program 5. Answer the prompts which follow with the assistance of the MQSeries for Compaq NonStop Quick Beginnings Guide If installing from a 3480 cartridge, replace step 3 above as follows: 3. Restore the install program (instmqm), memoptf and readme from the cartridge device as follows: RESTORE $MARA1, $*.INSTALL.*, MAP NAMES $*.*.* TO & $.ZMQSPTF.*, LISTALL, MYID, NOUNLOAD NOTE: We do not recommend that you replace the original INSTMQM (located by default in ZMQSEXE) with the one restored from the PTF as they have slightly different functionality. NOTE: The VPROC information has been updated for the files replaced by this PTF. Library: Version procedure: T0085D45_29OCT2004_xxxLIB_51 Executable: Version procedure: T0085D45_29OCT2004_xxxEXE_51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DOCUMENTATION CHANGES --------------------- There are no changes to the documentation that are relevant for MQSeries for Compaq NonStop Kernel V5.1 other than the amendments to the MQSeries publications listed in the latest readme file located in the INSTALL and ZMQSSYS subvolumes of the product installation. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SPECIAL INFORMATION ------------------- A) CSD03 (PTF IP22817) ------------------- o For MQSeries applications that use the Static build to MQMLIB or MQMLIBN a relink / rebind of the application may be required. APAR IC42258 and internal defect 455, 470 are the reason for the rebuild. APAR IC42258 is applicable for all non-native applications. Defect 455 is applicable to TAL applications. TAL applications require recompile and rebind to install the MQ TAL header template changes. Defect 470 is applicable to non-native and native static built COBOL and non-native TAL applications. If these items are applicable to your installation then a relink/rebind is required. Failure to do this may produce unpredictable results. Native C/C++ applications may need to be recompiled and relinked to implement the MQ header encoding float pointing changes. See the NSJ4 change highlights below for details. o For MQSeries applications that use the SRL build to MQSRLLIB it is recommended to reset the application's MQSeries User Library reference using the command: NLD -CHANGE LIBNAME $vol.ZMQSLIB.MQSRLLIB where $vol is the volume the MQSeries Private SRL resides on, and is the application program. If your installation uses a customized MQSeries Private SRL (to integrate your own channel exits for example) use the name of this customized Private SRL as the value of the LIBNAME parameter. o CSD03 adds support for IEEE_FLOAT encoding for MQSeries V5.1 on NSK. This change is required in MQSeries for the support of NonStop Java 4 (NSJ4). A corresponding update to the MA88 support pack (JMS) has also been released for the support of NSJ4. Here are the highlights. 1. This change pertains only to Native (code 700) C/C++ applications. 2. All Native applications that form an executable MUST be built either as IEEE_FLOAT or TANDEM_FLOAT when binding to any MQSeries library(SRL/MQMLIBN). To determine the FLOAT setting of a code 700 (executable) file use NOFT; FILE ; LISTATTRIBUTE . The output of "Floating-Point Type:" is current setting. 3. To OSS compile IEEE_FLOAT use -WIEEE_float as a c89 compile options. To Guardian compile using NMC specify IEEE_FLOAT as a compile option, for further information refer to the C/C++ Programmer's Guide, Chapter 16, Compiling and Linking TNS/R Native C and C++ Programs. 4. To OSS compile TANDEM_FLOAT use -WTandem_float for c89 compile options. To Guardian compile TANDEM_FLOAT use TANDEM_FLOAT as a NMC compile option. 5. A new Encoding value for MQSeries on NSK is being introduced in this release, MQENC_FLOAT_TNS. This new encoding value should be used for the application's MD.Encoding to make the encoding of floating point numbers in a message represented using TANDEM_FLOAT. This can be used to identify floating point numbers as TANDEM_FLOAT to other platforms if needed. By default MQENC_NATIVE represents floating point numbers as TANDEM_FLOAT. 6. Existing applications that are built default(TANDEM_FLOAT) do not need to be modified in any way and can be used "as is". 7. Customers can still continue using their own Compile Scripts without any changes, unless they want to use the newly introduced encoding values in their applications. 8. These new Encoding values are tested for interoperability with other platforms and could be used likewise. 9. Non-native static applications, built with MQMLIB, are not impacted by this change. 10. Native-Static applications can now use IEEE_FLOAT and must be relinked to MQMLIBN which is FLOAT_NETURAL. 11. All Exits must be relinked to the new relinkable library which now has the support for IEEE_FLOAT. B) CSD02 (PTF IP22664) ------------------- o For MQSeries applications that use the Static build to MQMLIB or MQMLIBN a relink / rebind of the application is required. Failure to do this may produce unpredictable results. o For MQSeries applications that use the SRL build to MQSRLLIB it is recommended to reset the application's MQSeries User Library reference using the command: NLD -CHANGE LIBNAME $vol.ZMQSLIB.MQSRLLIB where $vol is the volume the MQSeries Private SRL resides on, and is the application program. If your installation uses a customized MQSeries Private SRL (to integrate your own channel exits for example) use the name of this customized Private SRL as the value of the LIBNAME parameter. o Customers using the MQSYNC call in their applications MUST remove it and rebuild their applications. The MQSYNC call is no longer valid for V5.1. If the MQSYNC call is not used no action is required. o Customers wishing to correct the Binder warning 60 and 61 for a non-native C application build using CHECK PARAMTER STRONG must include in the compile command line syntax: define WARNINGS_60_61 o Change to run the Pathway TCP process as a non-stop process pair: To guard against the failure of the MQMC panels due to a CPU failure of the TCP MQS-TCP-01 server process, the NONSTOP 0 atrribute should be modified to NONSTOP 1. This will run the TCP process as non-stop causing a takeover when the primary TCP process fails. Pre-existing queue manager Pathways should implement this change. Queue managers created after install of CSD02 will have NONSTOP 1. C) CSD01 (PTF IP22535) ------------------- o IC31075 - Defining a CLNTCONN channel with DATA/EXIT info causes FFSTs. The MQSeries qmD.CCHDEFS file was created with an incorrect record length. Installations which created queue managers or upgraded queue managers using the UPGMQM utility with the GA code base will need to correct their queue managers. Some installations may have already performed this procedure as a result of applying a electronic fix (efix) for IC31075 and may skip this procedure. To further verify if the CCHDEFS file needs upgrade, compare the file attributes of the client channel file, CCHDEFS, with the channel file, CHDEFS using FUP INFO , DETAIL. If they are the same the CCHDEFS is correct and this procedure may be skipped. To correct the CCHDEFS file a TACL macro, CLNTDEF, is supplied in ZMQSSYS. The macro will recreate the file and copy any data. To install and run the macro perform the following steps: 1. Place CLNTDEF macro in the qmD subvolume for a queue manager. 2. Load the CLNTDEF macro: at TACL enter LOAD CLNTDEF. 3. Run the macro to correct the CCHDEFS file: at TACL enter CLNTDEF. Volume to the qmD subvolume for any additional queue managers and run CLNTDEF. o IC32046 - Use of National Language Support on a receiving channel caused MQMD Version problem. The changes for IC32046 require replacement of the MSG file for the supported national languages. In addition the QMINI DefaultCCSID value must be compatible with the MSG file installed and the Queue Manager CCSID. If they are not compatible CONV_NOT_SUP errors will occur. The following list shows the CCSID value loaded in message language catalog for the supported National Languages. US English MSGENUS CCSID 819 Spanish MSGESES CCSID 850 French MSGFRFR CCSID 850 German MSGDEDE CCSID 850 Italian MSGITIT CCSID 850 Japanese MSGJAJP CCSID 932 Korean MSGKOKR CCSID 949 Brazilian Portuguese MSGPTBR CCSID 850 Simplified Chinese MSGZHCN CCSID 1381 Traditional Chinese MSGZHTW CCSID 950 The QMINI DefaultCCSID value will be used as the NLS (National Language Support) setting and must have an entry in the ZMQSSYS.CCSID file. Some installations may have already applied the NLS changes as a result of a electronic fix (efix) and may skip this procedure. To modify CCSID for a Queue Manager: Verify a CCSID entry exists in ZMQSSYS.CCSID Alter the Queue Manager using RUNMQSC ALTER QMGR CCSID Edit the QMINI file DefaultCCSID End the queue manager. Verify the qmD.CCSIDMEM and qmD.QMINIMEM files are no longer open. If they are stop all processes that may have it open (user applications, third party products for example). Restart the queue manager to implement CCSID value changes. o For MQSeries applications that use the Static build to MQMLIB or MQMLIBN a relink / rebind of the application is required. Failure to do this may produce unpredictable results. o For MQSeries applications that use the SRL build to MQSRLLIB it is recommended to reset the application's MQSeries User Library reference using the command: NLD -CHANGE LIBNAME $vol.ZMQSLIB.MQSRLLIB where $vol is the volume the MQSeries Private SRL resides on, and is the application program. If your installation uses a customized MQSeries Private SRL (to integrate your own channel exits for example) use the name of this customized Private SRL as the value of the LIBNAME parameter. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SERVICE AND TECHNICAL SUPPORT ----------------------------- A) Service Level Information ------------------------- IBM MQSeries for Compaq NonStop Kernel V5.1 is the first release of product 5724-A39. o This release incorporates the following APARs from IBM MQSeries for Tandem NonStop Kernel V2.2.0.1: IY22166 IY23779 IY24473 B) Service Support Available from the Internet ------------------------------------------- The MQSeries support page is located at: http://www.ibm.com/software/ts/mqseries/support From the MQSeries support page, you can obtain the latest information about the following topics: IBM Transaction Processing SupportPacs Closed APARs Fix Packages Frequently Asked Questions Tips and Techniques Device Drivers Forums Related Links C) Preventive Service Planning --------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CSD HISTORY =========== A) CSD03(PTF IP22817) ------------------- This is the third CSD for IBM MQSeries for Compaq NonStop Kernel 5.1 from IBM. It is delivered via PTF IP22817 for APAR IC43089. This PTF is distributed for all National Language versions using the same CD-ROM as the PTF for the English version. Number of APARs in CSD = 21. It contains fixes for all the problems listed below: IC36160 - MQGET Set-Signal FFST in qslRemoveOpener. IC36517 - Corrections to Clustering: 1. Cluster queue open received 2189 until qmgr restart. Cluster queue subscription in cluster cache in cpu was not matching except for master repository. 2. Slave repositories writing messages to cluster transmit queue. Only master should do this. This produced many AMQ9428 errors. 3. Slave repository restart did not register with master. 4. FFST in rfxNSKUpdateCacheChannel starting cluster channel 5. AMQ9422: Repository manager error, RC=545284148 6. Slave Repository cache not updated with new Master process 7. Port IBM cluster fixes to V5.1 CSD 9: IC31755, IY25795, IY31498, IC31899, IC24670, IC27149 IY09844 8. Port IBM fix SA96031 9. SUSPEND MODE(FORCE) on a qmgr with multiple CLUSRVCR channels "AMQ9533 Channel not active messages" output by slave. 10. CLUSSDR channel not triggering. 11. Qmgrsvr issued too many channel starts when SYNCPOINT PUTs are commited 12. Qmgr would not end if QServer cancelled Repsvr signal delivery. 13. Qmgr not ending if Repsvr had to do recovery. 14. Messages were not reallocated to another qmgr if channel failed. 15. Channel not processing Repsvr replies when received after channel has gone idle. 16. Repsvr TMF trasnaction was not ended when server ends. 17. Repsvr failure did not try to find a new master. IC36816 - RUNMQSC DIS CHS displayed negative values for BYTSSENT, BYTSRCVD. IC37078 - Temporary queues were not always deleted during STRMQM. FFSTs from aocDeleteTemporaryQueues, kpiStartup are output during STRMQM. This left temporary queues after startup which could result in FFSTs from qslOpenTouch, qslLoadQueue from the Queue Server. IC37105 - Assign of a non-default server for QMODEL with ALTMQFLS -type QM expected a Status Server entry. It must be a Queue Server entry. The Status Server was loading the QMODEL objects instead of the Queue Server. This has been corrected. IC38534 - Enscribe files for non qlocal MQSeries objects were not deleted. (457) For example RUNMQSC DELETE QA did not delete the T prefix Enscribe file found in the qmgrM (message) subvolume. IC38798 - Message corruption using MQGET SYNCPOINT_IF_PERSISTENT of a Persistent message. Channels sending or MQGET of a 119K persistent message followed by a smaller message had data corruption. IC39059 - Browse Get position incorrect after CPU failure involving Queue Server Primary process. IC40676 - Queue Server FFSTs with "out of sync" and MQGET cannot complete for the queue afterward when a TMF transaction is started on a remote node. MQSeries was failing a OpenTMF export of a remote transaction in the Queue Server backup process. The primary process completed successfully. The Queue Server resynced itself if one message was MQPUT. Two or more messages did not automatically resync which led to the "out of sync" errors. Correcting the code error of the OpenTMF export in the backup process corrects this issue. IC40933 - Queue Server FFST READUPDATEX on $RECEIVE error 74 and exit The Queue server was not removing its outstanding IO on $RECEIVE for a waited MQGET when the application died. Eventually the maximum open queue depth of 4047 on $RECEIVE was met over time and produced the FFST and Queue Server process exiting. IC41461 - Queue Server loop after takeover The Queue Server was removing a set signal wait entry twice. This caused waiter list corruption which if the right condition occured could cause the last item in list of waiters to point to first item, a circular list. This then caused the QS to loop when a message is put to the queue and a traversing of the waiters list is performed. IC41482 - Queue Server outputs "AMQ8643: Signal delivery canceled for an MQGET" after takeover The Queue Server during takeover re-opens all MQGET Set Signal applications. If LQMA of the Set Signal application was in the failed cpu the Queue Server attempts to send a MQRC of 2009 (connection broken) to the application. But because the open completion response from the Set Signal application has not yet arrived the AMQ8643 is output. The Queue Server now waits for the open completion response to deliver the 2009. If the Queue Server did not receive a successful completion of the open of the MQGET Set Signal application, indicated with a "AMQ8641: Signal delivery open error for a MQGET", the Queue Server did not attempt the open on the next MQGET Set Signal request but did setup a waiter entry. When a Queue Server attempted to notify the application it did not find the application open and output the AMQ8643. IC42053 - MQLQMAG memory leak opening temporary dynamic queue. Two memory leaks were found while opening and closing temporary dynamic queues using the same connection IC42090 - FUP COPY using ECBOSS causes it to FFST and terminate Issuing a FUP COPY caused it to FFST in zcpReceiveMessage and exit. A similar FFST also occured for the EC and LQMA and has been corrected. IC42155 - Get/Put inhibit events written to the SYSTEM.ADMIN.QMGR.EVENT queue did not contain the queue name IC42258 - Non-native applications create a corrupted queue manager CCSIDMEM file When a non-native application attempted to create the CCSIDMEM shared memory file a field was not initialized. The create occured because the file was removed when the queue manager was ended and the application attempted a MQCONN while queue manager was ended. The subsequent queue manager start resulted in errors due to the missing data. IC42908 - TRACEOPT file opened and closed The TRACOPT file was being open and closed unnecessarily during MQCONN and MQOPEN processing due to a code error in the reporting of the trace status by the Status Server to the LQMA. IC42999 - MQMC queue create DEFOPTS default (477) The MQMC create queue function created a queue with the DEFOPTS EXCL option. The default should be SHARED. IC43079 - RUNMQTRM not passing MQDEFAULTPREFIX to trigger application Item 458 removed the trigger monitor setting of MQDEFAULTPREFIX. This has been reapplied. In addition MQMACHINIFILE is now also being passed to trigger applications in case a non-default MQSINI file is used. IC43132 - NPMSPEED(FAST) outbound channel not ending TMF transaction The TMF transaction started to retrieve messages was not ended until the transmit queue was empty. The TMF transaction is now ended at each message batch (BATCHSZ). IC43167 - Queue Server backup process abend and restart The change for 474 released in C2EFIX6 caused the backup process to abend with a illegal address reference in qslCompleteLocalTrans. A entry in the MQERRLG from the Queue Server that it processed expired messages proceeds the abend. A persistent message with expiry and no report were the conditions that caused the abend. R2683 - Sending and server connection channels recycle TMF transactions at a default of 10 seconds when no messages are on queue while waiting for the discint to expire. This is unnecessary. The wait logic has been modified to use a set signal wait and end the TMF transaction. The Master Repository server has also been modified to use new set signal wait logic implemented in channels. The default Queue Server delivery of a signal IPC timeout has been changed from 60 seconds to 10 minutes as part of this change. This should ensure the signal IPC delivery under stress conditions. It is still configurable with the MQQSSIGTIMEOUT parameter. R2735 - The MQSeries Pathway Servers have a HOMETERM open which uses a resource that is not required. The MQSeries servers and agents started by the EC server will now close the HOMETERM open. This will reduce the opens, typically to a $VHS process for the OUT and HOMETERM attributes of a Pathway server, by half. 378 - Message missing when Channel MCAUserID validation fails. A FFST from the MQTCPRES in Component kqiSpiConnectOptions with a Major Errorcode of lrcE_NOT_AUTHORIZED was produced. 380 - MQGET Set Signal waitinterval application opening more then 15 queues. A FFST from the MQQSSVR in Component qslTerminateWaiter with Text Unexpected File Error and Arith1 28 (0x1c) was produced. 401 - MQMSVR did not exit after a CPU failure where the Pathway TCP process resided. The MQMSVR did not have cpu down processing which is needed to remove the Pathway TCP process open. Because of this the MQMC panels received a "link denied" when the panels are exited and restarted. 426 - Queue Server abends on takeover during large message put. 433 - ALTER QREMOTE did not return "AMQ8148: MQSeries object in use" when object is open. When objects are open FORCE should be used to alter the object with opens. Also the MQSTSVR was not updating its internal copy of the object when no opens existed. This on occasion would cause a 2041 MQRC_OBJECT_CHANGED not to be returned during MQPUT when the object was altered. MQSTSVR was not keeping track of the QREMOTE RNAME attribute. This resulted in MQPUT not receiving a 2041 when the RNAME was altered. 437 - Queue Server not cleaning up wait list for MQGET SET_SIGNAL open error. - Queue Server was sending MQGET Set Signal Application that issues a MQCLOSE a IPC that is not needed. This resulted in a FFST from qslMiscCompletion with Text : Error delivering signal to app (invalid signalsent flag). - Queue Server did not send MQGET Set Signal Application a 2009 IPC when the EC process was TACL stopped after change to MQCLOSE above was made. 443 - Queue Server FFST in qslHandleGetCkp reposting MQGET Set Signal that was canceled with AMQ8640. 444 - Listener could loop on qmgr end if a process cancels replies the listener is expecting. 445 - Queue Server generated a AMQ8643 when a message was put before the reply was received to the open the Queue Server performs of a MQGET Set Signal application. 446 - Queue Server takeover of a Syncpoint Non-Persistent message which did not checkpoint its TMF transaction to the backup due to its abort was not cleaned up. A FFST from qslTakeover with Text: Error checking global transaction status on takeover was a indication of the problem. 447 - Channel status retry but no restarted. If a channel process was found to no longer exist during the Status Server health check of channels its channel status was marked as not in use and could not be restarted. A FFST from sslCheckRetryChannels with a Major Errorcode: xecP_E_INVALID_PID was a indication of the problem. 448 - The REPSVR looped in rrmreallocmsgs. The Queue Server did not initialize the browse cursor during MQOPEN processing. 451 - Queue Server takeover of applications with multiple MQGET set signal waits only reset last wait. MQGET set signal wait internal data were not being reloaded in backup when a backup Queue Server is restarted. 452 - MQMC queue panel did not display any queues if one was found to be not authorized. 453 - Master Repository server not restarting TMF transaction during message reallocation. When messages on SYSTEM.CLUSTER.TRANSMIT.QUEUE are redirected to another queue manager if more then 100 messages were found a TMF transaction was not started to complete the redirection of the remaining messages. 454 - Queue and Overflow files are not necessary for temp dynamic Queues. Since temporary dynamic queues cannot store persistent messages the Enscribe files that were generated were not necessary. The qmgrD.Q and O prefix files are no longer generated. This will enhance the performance of applications using PCF and MQAI commands which use temporary queues for there responses. 455 - TAL header CMQTAL was not using templates for structs. This caused unnecessary use of primary global storage. TAL programs will need slight modification to declare storage for the changed items and rebuild. Customers not wishing to make these changes should save off the existing ZMQSLIB.CMQTAL file and reapply after CSD03 has been installed. 456 - Queue Server Group Message Performance. Implemented changes made to improve performance of MQGET of a messages by Logical order. 458 - RUNMQTRM (Trigger Monitor) does not trigger a OSS application. OS levels prior to G06.16 must run the RUNMQTRM process to trigger a OSS application from a terminal. The TACL environment must also include the following parameter: PARAM MQNOOSSTTY ON OS levels prior to G06.16 cannot support IN and OUT values for a process ($VHS for example) as well as other issues corrected to start a OSS application from a Guardian background process. 459 - Repository servers are not started past failed CPU during STRMQM. 460 - SVRCONN channel was not rolling back Syncpoint MQPUT/MQPUT1 message(s) on a channel failure. 461 - MQMC SVRCONN channel exit panel did not update Scrty Exit. 464 - SCF PROCESS PRIMARY of TCPIP process caused RUNMQLSR, listener process, to exit. This was shown with a entry in the MQERRLG1: AMQ9219: The TCP/IP listener program could not create a new connection for the incoming conversation. ACTION: The failure may be transitory, try again later. If the problem persists record the return code 210 and tell the systems administrator. It may be necessary to free some jobs, or restart the communications system. 465 - Remove ZMQSSYSD CCSIDMEM and QMINIMEM files created during CRTMQM. These shared memory files are no longer needed after the queue manager is created. If the files in the ZMQSSYS subvolume are secured, future queue manager creations could be effected. Since after CRTMQM the shared memory the files are no longer required the CRTMQM program will now remove them. 466 - Queue Server was returning 2071 instead of 2056 when a Enscribe file is full. A application will now receive a MQRC of MQRC_Q_SPACE_NOT_AVAILABLE when there is no more storage available for a Enscribe file. This can be seen when a FFST from xgcRecWrite is output by a MQQSSVR process with Arith1 45 and a Comment1 of a Enscribe file name. 467 - FFST from Queue Server qslPrimaryRequest with Text "Duplicate WRITEREAD/READ request received but no data to reply with" when Backup Queue Server process is stopped and restarted and then the Primary Queue Server process is stopped a minute later. Waited MQGETs that the Queue Server has are not replied to until a message is available or wait interval expires. The new primary receives the MQGET request from the application again and should handle as it did before. 468 - MQTCPRES Reply error 74 after accept_nw2 failure. The MQTCPRES was not replying to the start channel request when the accept failure occured. 469 - High number of reads of OBJCAT by default QServer just after STRMQM completes. 470 - Guardian COBOL applications abend on printf when writing FFST. The MQ C API was not opening standard out which is required for generating output from a COBOL main. This also applies to TAL applications. 471 - MQMGRSVR test of TMF transaction not correct. Very rarely a FFST is generated with Component qmsAddClusterChl Text No transaction, or TMF Error on Add Channel request with a MQPUT Syncpoint to a cluster queue. 472 - MQQSSVR FFSTs with Component qslCompleteGlobalTrans and Text Context data for message confused in global transaction completion when a backout of a MQGET Syncpoint occurs. The Queue Server rollbacked the MQGET due to a error condition it encountered but did not abort the applications TMF tranasction or leave the MQGET internals around for the TMF completion to process. This allowed a customer application to commit the MQGET which removed the message from NSK TMF audited Enscribe files but not the Queue Server internals. The message was marked as available for MQGET. All subsequent MQGETs would fail for the MQ queue with MQQSSVR FFSTs with Component qslReadQRec and Text Serious Error reading in Queue file. 474 - Queue Server FFST from qslLocalTxHandler or qslGlobalTxHandler after takeover The qslLocaTxHandler FFST was caused by takeover logic finding a ending TMF transaction and removing the reference. When the TMF completion arrives after takeover completion the FFST occured. The qslGlobalTxHandler was caused by a flag being set during takeover. The checkpoint of a message to the new backup is performed and the OpenTMF export by the backup fails since the TMF transction was aborted due to the Queue Server failure. This caused the removal of the reference in the new primary. When the OpenTMF completion arrives in the new primary (since the TMF transaction was exported prior to the takeover) the FFST occurs. 475 - ALTMQFLS --server did not report object in use When ALTMQFLS attempted to move a object that was open to another Queue Server it did not report that the object was in use and did not complete. 478 - SVRCONN channel MQGET BROWSE was setting uow flag When a client application issued a MQGET BROWSE the NSK SVRCONN channel set the uow flag indicating that a TMF transaction has been started when this was not the case. A subsequent destructive MQGET failed with a MQRC_UNIT_OF_WORK_NOT_STARTED (2232). The uow flag is now only set for a destructive MQGET. - FFST from Status Server sslMiscCompletion after CPU failure takeover has been disabled if the AWAITIO reason is a CPU failure(211). The Status Server was also not processing the IO which was for a loss of the touch file. - FFST from EC zxcMain during CPU failure involving ECBOSS has been corrected. - FFST from EC zcpReceiveMessage when ECBOSS is TACL stopped has been corrected. - MQPUT to a cluster queue that is PUT(DISABLED) MQOPEN options BIND_NOT_FIXED and no qmgr specified in ObjectQMgrName did not return a 2268 (MQRC_CLUSTER_PUT_INHIBITED). - Channel exit sample source AMQSVCHN was not provided. - Queue Server tests for invalid curdepth were not correct. This caused large or negative queue CURDEPTH displays and MQPUT failures with a MQRC of 2053. - Additional change to item 381 in CSD02. Messages are not removed from backup under a condition where the OpenTMF completion is received by the Queue Server primary but not by the backup when a waiting GET is responded to during a PUT TMF transaction completion. The Queue Server primary attempted two times to checkpoint the GET and if it did not complete the checkpoint continued processing. This left the message in the backup and if a Queue Server takeover occured the message was then re-processed. The Queue will now attempt the checkpoint 5 times and if this fails the GET will be backed out and a MQRC of 2003 will be returned to the GET application. The backout of a MQGET also caused CURDEPTH a issue. The message was added back twice. When the queue was empty CURDEPTH showed one message. - CSD03 adds support for IEEE_FLOAT encoding for MQSeries V5.1 on NSK. This change is required in MQSeries for the support of NonStop Java 4 (NSJ4). A corresponding update to MA88 support pack (JMS) has been released for support of NSJ4. See the Special Information section for further information. - FFST output from Component: xcsAllocateQuickCell, Minor Errorcode: xecL_W_PERFORMANCE_BOTTLENECK, Text: Too many extents requested This is only a warning message of a longer search then expected. It is typically a temporary condition and self correcting. No instances of unavailable memory have been reported by customers from the xcsAllocateQuickCell function further proving a self correcting temporary issue. The output of the FFST will now occur after a 250 cells have been searched to find a available cell. This is to match the change made for other distributed platforms under internal defect 23940. - MQCONN not returning MQRC_NOT_AUTHORIZED Applications issuing a MQCONN that did not have a principal entry in the principal database (PRIDB) for the NSK userid the application executes with did not receive a MQRC_NOT_AUTHORIZED (2035). This was applicable to those queue managers that run with the Object Authority Manager (OAM) disabled. This resulted in messages being MQPUT with a blank MQMD.UserIdentifier. A OAM enabled queue manager does return the 2035. - Queue Server abend in qslHandleDelete The queue server abended when a invalid open handle was received. The LQMA code has been modifed to not send a IPC to the Queue Server during a queue delete operation if the queue has never been opened by the Queue Server. The Queue Server qslHandleDelete function has been modified to no longer continue processing if a open handle cannot be found. B) CSD02(PTF IP22664) ------------------- This is the second CSD for IBM MQSeries for Compaq NonStop Kernel 5.1 from IBM. It is delivered via PTF IP22664 for APAR IC36172. This PTF is distributed for all National Language versions using the same CD-ROM as the PTF for the English version. Number of APARs in CSD = 17. It contains fixes for all the problems listed below: IY32994 - Listener errors with 947,28 on Pathsend start channel request. Restart of listen port after channel start failures to prevent listen port unavailability. IC34390 - The open of temporary queue during endmqm -i abends QS. IC34392 - The resolution of a remote queue in a cluster qmgr was in error. IC34518 - UPGMQM not handling non-standard overflow file name. IC34676 - MQDISC memory leak. IC34929 - Queue Server takeover backup re-synchronization. IC35063 - CNVCLCHL did not include new fields for V51. IC35307 - Enscribe file name generation routine created duplicates. IC35330 - MQMCACAL xmit of NPM message generated excessive TMF/QS IO. IC35347 - MQGET by MATCH_GROUP_ID and MATCH_MSG_SEG_NUMBER. IC35367 - Application MQDISC'd but endmqm did not complete. IC35513 - Queue Server memory leak with put of syncpoint message greater than 27K. IC35546 - Repeat of MQCONN to a non-existent qmgr generated FFST in xstConnectSegment IC35569 - Status Server did not decrement MaxActiveChannels for a STOP CHL MODE(FORCE) of a running inbound chl (RCVR, SVRCONN). IC35655 - ALTMQFLS -qsize with MQRDF ON FFSTed in xgcDupPartFile error 10. IC35518 - ALTMQFLS without specifying a queue manager name errors. IC36075 - RUNMQSC abends using FC after 200 commands entered. IC36076 - MQGET Set-Signal with wait unlimited not reset after QS takeover. IC36159 - EC restart after CPU failure in which ECBOSS resides R2334 - RUNMQSC can cause a large amount of open and close i/o on the ZMQSSYS.MSG file if used heavily. The environment parameter, PARAM MQMSGCATOPEN ON, can be used to keep the MSG file open to reduce this i/o if necessary. See the README file in the ZMQSSYS subvolume for usage details. R2433 - ALTMQFLS enhancement to allow queue file partitioning by OS utilities while queue manager is running. Option --maintain ON or OFF added to lock and unlock queue during maintenance process. 157 - Non-Native Binds produced the following warnings: BINDER Warning 59 on isdigit(), isalpha(), toupper() Binder warnings for MQSeries MQI calls for non-native C compile: **** WARNING 60 **** Parameter mode mismatch on MQOPEN parameter 2 Parameter mismatch between external procedure and procedure declarations Parameter storage types are not equal: Extended-Address Pointer and Word-Addressed & Structured Element lengths are not equal: 32 and 16 Number of units contained in the parameters are not equal **** WARNING 61 **** Parameter type mismatch on MQOPEN parameter 2 328 - There are repository cache and semaphore files left around when MQS-REPSVR CPUS are changed. 373 - Service interval high event functionality for an Alias queue. 374 - Various windows in MQCLOSE logic left temporary queues and OAMDB entries. 376 - ALTMQUSR displayed a confusing message when assigning a principal to a Tandem userid that is already assigned to another principal. 377 - Assigning a queue back to a default QS/SS Process using ALTMQFLS --server caused error. 379 - The QMGRSVR FFSTed while expiring messages from a local queue. 381 - FFST from MQQSSVR backup process in qslHandleGetCkp with text: "Unavailable message referenced in Backup for Get" and nspBackup "Error handling checkpoint in backup" 382 - FFST from Status Server in sslUpdateChlStatusEntry with text: "Invalid handle given to find Channel Status Entry" 383 - Removal of the MQSYNC call from MQSeries V5.1. 384 - If a COBOL app is run without PARAM SAVE-ENVIRONMENT program abends. 385 - MQMC Channel displays "No more channels" when a channel is selected after returning from monitor channel. Channel Menu did not maintain filtered channels list after returning from monitor channel. 386 - ECBOSS can handle only receiving 1 TMF transaction at a time. FFST in xgcInheritTransaction was produced when more then 1 MQCONN was received with a TMF transaction. 388 - ALTMQFLS --server did not validate the process belongs to the queue manager. 389 - Create queue manager servers with failover cpu configured. 390 - Error 2059 returned if Pathway ECBOSS server secured. 394 - MQSeries Tracing degrades performance. 396 - Listener exits if accept_nw receives 211 error. 397 - FFST from MQQSSVR backup process in: qslCompleteGlobalTrans with text: "Context data for message confused in global transaction complet" qslGlobalTxHandler with text: "Error in completion of global transaction" FFST from MQQSSVR backup process in qslHandleGetCkp with text: "Invalid Message Header context in Backup for Get" nspBackup wit text: "Error handling checkpoint in backup" 398 - FFST from MQQSSVR backup process in: qslCompleteLocalTrans with text: "Context data confused in locating local transaction context" qslCheckpointHandler wit text: "Error processing Local Transaction completion in backup" FFST from MQQSSVR primary process in: qslCompleteLocalTrans with text: "Error checkpointing Local transaction completion" 399 - ZMQSSYS.MSG can have a lot of IO. 402 - FFSTs from QS, SS and their access libraries have invalid Probe Description. 403 - Status Server startup / end messages. 404 - SETMQAUT -g group member validation stops when a invalid user is found. 405 - Queue MAXDEPTH can be exceeded using NO_SYNCPOINT puts. 406 - MQCCSI_INHERIT did not work. 407 - sslCloseObject FFSTs from Status Server when qmgr shutdown after takeover. 408 - Queue server does not reply back to a wait unlimited application when TMF transaction is autoaborted. MQRC of 2072 is now returned. 409 - qslMiscCompletion FFST from Queue Server for MQGET Set-Signal application. 410 - Cluster queue authority should not require qmgr SETALL. 411 - Add of Cluster queue definitions using MQMC panel did not update the cluster repository. 412 - QMINIMEM is not updated if QMINI replaced using FUP DUP SAVEALL. 413 - If qmS.SYNCHIDX file is deleted it was not recreated. 414 - Implement TCPIP socket receive IO timeout logic of: if channel HBINT less then 60 socket timeout is 2 times HBINT if channel HBINT greater then 60 socket timeout is HBINT plus 60 416 - Expired messages are not removed from backup QS process 417 - OAM ALTUSR authority validation was in error. 418 - SETMQAUT -nl or -namelist did not work. 420 - Implement OpenTMF Export error 723 workaround. 421 - ZMQWRITE/ZMQREAD command syntax validation for number of messages. 423 - When the MQ TACL environment PARAMs are not present a program abended. When the TACL PARAMs are not present the program will output: MQSeries TACL environment PARAM error Check for presence of environment variable MQDEFAULTPREFIX Correct your environment and try this command again 424 - The Queue Server could loop removing openers during shutdown. 425 - After a Primary Queue Server takeover, during re-put or re-get of a message FFSTs were produced from: qslReadQRec with text: "Serious Error reading with lock in Queue file" qslReadQORec with text: "Serious Error reading with lock in Queue Overflow file" qslInsertQRec with text: "Name clash adding record to Q file" qslInsertQORec with text: "Name clash adding record to QO file" 427 - MQCONN using an aborted TMF transaction returned 2035. 428 - EMS Channel event 2 was not output. - MQREPSVR abends in zcpDisposeCtx. - Implement APAR IC31755 to correct AMQ9417 output by repository servers. - DSPMQAUT -g displayed all member groups authority. Should only display the authority of the requested group. - FFSTs from STRMQM with MQRDF ON when deleting temporary queues from: xcsPurgeData with text: "Unable to GetQMVolume" xgcFileClose with text: "Tandem error 16" C) CSD01(PTF IP22535) ------------------- This is the first CSD for IBM MQSeries for Compaq NonStop Kernel 5.1 from IBM. It is delivered via PTF IP22535 for APAR IC33945. This PTF is distributed for all National Language versions using the same CD-ROM as the PTF for the English version. Number of APARs in CSD = 33. It contains fixes for all the problems listed below: IC30979 - An MQGET with GMO SET SIGNAL option from an application running as an unnamed process caused the Queue Server to loop. IC31071 - The EMS template ZMQSTMPL supplied with GA was incorrect. IC31075 - A definition of a CLNTCONN channel with DATA / EXIT information or remote administration updates to channels caused FFSTs or rrxGetFirstChannelDef len=1792 sizeof(rrxCHANNEL)=1786 or similar errors using RUNMQSC. IC31135 - Administration message routines did not handle DBCS messages when found in the MSG catalog. Some messages caused the Queue Server / DSPMQFLS process to loop. IC31168 - A CPU failure left the channel status as RUNNING when the MCA no longer existed. The channel could not be restarted. IC31325 - MQMC queue and channel panels did not support 100MB message size. IC31514 - The Command Server abended processing a Reset_Queue_Statistics. IC31801 - INSTMQM license problems. IC31891 - Auto defined CLUSSDR channel has CONNAME problem when the CLUSRCVR CONNAME has a space(s) between dns name and port. IC31898 - A erroneous COD was generated by the sending channel process when the message was dequeued from the xmitq and contained a COD report request. IC31913 - ALTMQFLS --qsize resulted in a usage error. IC31915 - The Primary of a Non-stop process pair did not run on 1 CPU. IC31917 - INSTMQM did not open the defined spooler in all cases. IC31948 - SETMQAUT/DSPMQAUT -g using unknown group did not return AMQ7026 error. IC31952 - A Queue Server takeover caused channel error 2101. IC32046 - Use of National Language Support on receiving channel caused MQMD Version problem. IC32088 - Added user security validation to MQSeries for remote administration requests received for channels. IC32198 - A SVRCONN channel did not recycle its TM/MP transaction. A long running SVRCONN channel ended abnormally with a 2297 error. IC32288 - Expiry of messages residing on a xmitq were not handled correctly. IC32362 - CLEANRDF attempted to copy a file to the backup site that is no longer used for V51. IC32363 - Messages were not rolled back when MQPMO_NONE (no option supplied for syncpoint) was used by a application and a TM/MP transaction was begun and aborted. The default syncpoint option for MQSeries for Compaq NSK is syncpoint. IC32369 - Document APAR for the Quick Beginnings and System Administration Guide for TACL PMSEARCH. IC32506 - MQGET of a Grouped message was retrieving the messages before the last message was committed. IC32519 - ENDMQM -i logs a 2162 error for SYSTEM.CLUSTER.REPOSITORY.QUEUE IC32562 - AdoptNewMCA feature was not functioning. IC32666 - Support for Non-Stop Java 2 in the Java bindings. IC32801 - STOP of a Receiver Channel produced FFSTs from Status Server. IC33010 - The MQMC Resolve Channel command generated an error. IC33158 - UPGMQM failed to upgrade queues that were moved using ALTMQFLS to a non-default queue manager message volume. IC33324 - An MQGET with browse option of messages with a queue non-zero DEFPRTY did not function. IC33476 - Use of a MQGMO_VERSION_2 structure was not handled correctly by the channel agent. IC33843 - Status Server usage of system Time List Elements (TLE). IC33860 - MQGET specifying GMO SET SIGNAL option by CorrelId did not work. 164 - The performance of MQMC monitor channel was enhanced. 325 - An FFST was generated by the Queue Server after a RUNMQSC CLEAR QLOCAL was requested and the queue was still open. 329 - A crash of the ECBOSS put channels in RETRY state but they did not retry. 331 - The Status Server did not shutdown properly on ENDMQM -i if RUNMQSC was still running. 332 - RUNMQSC abended receiving replies from OS/390 during remote administration. 333 - The EC did not always restart after an ECBOSS failure. 335 - A STOP CHANNEL quiesce sometimes set the channel status as RETRY instead of STOPPED. 344 - An MQPUT of Grouped messages failed when PUT to a Remote queue. 345 - EC message AMQ8810 for EC process start was not same as V2201. 350 - Build scripts for C++ Samples for Guardian and OSS provided. 351 - RUNMQSC ALTER NAMELIST NAMES command abends. 359 - PINSTALL of MQMPAX file for OSS errored due to invalid path. 361 - DSPMQTRC abends with an illegal address reference. 364 - A RUNMQSC DELETE QLOCAL command with the PURGE option deletes a queue with uncommitted messages on it. 366 - COA reply missing data. 367 - Reply messages to an xmitq did not trigger a channel. 370 - STRMQM did not report the actual Pathway error for problem diagnosis. 371 - CRTMQM abended when an invalid DLQ parameter was supplied. - A second MQCONN attempt did not return MQRC-ALREADY-CONNECTED. - STRMQM will now ignore warning errors on the PATHCTL database such as detecting that the Pathway is now running on a different node. This is beneficial for queue manager disaster recovery on a backup queue manager. - Report messages were not being put to the DLQ with the mqm userid. - A permanent dynamic queue with multiple openers that was requested to be deleted when closed was not deleted when the last opener closed the queue. - A Channel Stop of a retrying channel using the MQMC Channel panel caused errors. - The MeasCounter feature was not working for multiple queues. - The Master Repository server, MQS-REPSVR00 could only have 8 slave repositories, MQS-REPSVR01-nn. The maximum of 15 slaves, one for each available CPU on a NSK system, is now supported. - STRMQM did not warn that shared memory files, CCSIDMEM or QMINIMEM, were open and updates made to ZMQSSYS.CCSID or qmD.QMINI would not be propagated to the shared memory file. An FFST is now generated. - RUNMQSC did not exit with a non-zero return code in the case of errors. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TRADEMARKS ---------- The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM AIX MQSeries NonStop Kernel is a trademark of the Tandem Division of Compaq. ####### ------- end of file MEMOPTF -----------------------------------