ADSTAR Distributed Storage Manager (ADSM) Server Licensed Materials - Property of IBM (C) Copyright IBM Corporation 1990, 1999. All rights reserved. ------------------------------ ATTENTION -------------------------------- This is a service PATCH based on certified service level 3.1.2.50. ------------------------------------------------------------------------ Service Level 3.1.2.58. This is a partial Windows NT instllation that must be installed over a version of ADSM at the 3.1.2.5X level ------------------------------------------------------------------------ Testing has focused on the corrections made for the following items. ------------------------------------------------------------------------- o IY06424 - ANR9999D ERROR POSITIONING SERVER VOLUME FOR VIRTUAL VOLUMES AFTER DEFAULT MANAGEMENT CLASS CHANGES If the default management class on the target server for the node representing the source server is changed, any data for virtual volumes previously stored on the target server will not be addressable. Specifically, the virtual volumes on the source server will exhibit errors positioning on the virtual volumes that have archive files bound to the previous default management class. <@> o IY07203 - RETRIEVING FILES THAT SPAN SIDES OF OPTICAL MEDIA FAILS. When a file that is stored on optical media and spans sides media there is a possiblity that retrieving the file may fail. <@> o IY07233 - WEB ADMIN SUGGESTS INCORRECT BEGINDATE WHEN SELECTING 'OBJECT VIEW' / 'SERVER' / 'ACTLOG' When selecting 'OBJECT VIEW' / 'SERVER' / 'ACTLOG' from Web Admin, the suggested begin and end dates are for the current month plus one. Example: on 01/06/2000 the suggested date is 02/06/2000 <@> o IY07355 - PARTIAL OBJECT RETRIEVE MAY SEND LESS BYTES THAN REQUESTED Partial object retrieves would fail given certain offsets. <@> o IY07452 ANR8469E DISMOUNT OF VOLUME VOLUMENAME FROM DRIVE DRIVENAME IN LIBRARY LIBRARYNAME FAILED If a customer restarts the server while there are tapes mounted in the drives, the server is not able to empty the drives. <@> o IY07501 ADSM HANGS DURING EXPIRATION. The server may hang during expiration processing. This problem occurs when any of the following messages are issued AND the server has to evaluate different policy information for files within the current selected group for expiration. The messages that are seen than may indicate the hang are the following: ANR0830W, ANR0831W, ANR0832W, ANR0833W, ANR0886E, or ANR0887E. <@> o PQ31769 ADSM SERVER NETWARE RESTORE ANR9999D SMNQR(235): INVALID OBJECT HEADER STATE IN RETRIEVE OPERATION FOR SESSION During no query restore operations, the restore may fail with an ANR9999D SMNQR(235) Invalid Object Header State in retrieve operation for session..... A logic error occurred in the server did not reset certain control information following a sink error. As a result the above message was issued due to the object header size being incorrect. <@> o IY05753 HIGH CPU USAGE CAN RESULT IN THE BUFFER PRE-FETCHER UTILIZING LARGE SUMS OF REAL MEMORY Data base buffer prefetcher can use too much memory if the thread servicing the prefetch requests can not service the requests as fast as the other threads in the server can create the requests. <@> IY07513 MEMORY LEAK IN ADMNODES_CLOSE A SQL query of nodes will cause a small memory leak. <@> IY07515 THERE IS A MEMORY LEAK IN ADMQUERYNODE Over an undetermined amount of time QUERY NODE can use memory for building a domainlist, but is never freed. We free the mem ory upon failure of the query, but we don't otherwise <@> IY07663 SOME CLIENT SESSIONS BECOME "STUCK" ON THE SERVER. THEY CAN NOT BE CANCELED, SERVER RESTART NEEDED TO CLERE THESE SESSIONS Clients performing backup/archive operations can hang if an error occurs during a read verb opertion on the server. <@> IY06778 MULTITHREADED EXPIRATION RUNS VERY SLOWLY, BITFILES EXAMINED INCREMENT VERY SLOWLY The expiration algorithm has been altered to improve it's performance while expiring archive files and directories. In addition, a new parameter has been added to the "EXPIRE INVENTORY" command. The parameter is "SKIPDIRS". The minimum abbreviation is the first two letters of the parameter or just "SK". The parameter accepts either a "YES" or "NO" for the value. So, to specify this parameter on the "EXPIRE INVENTORY" command, examples are: "EXPIRE INVENTORY SKIPDIRS=YES" In this case, expiration would run and for any DIRECTORY type objects stored on the server, expiration would skip those objects. So, even if the directory was eligible to be expired based upon the policy criteria, the object would be skipped because this parameter was specified. "EXPIRE INVENTORY SKIPDIRS=NO" In this case, expiration will process as it does today - it will expire any possible files or directories based upon the appropriate policy restraints. By allowing expiration to skip directories this will help customers to keep reclamation processing working. Typically, the file objects are likely to be taking up space on sequential media (where this is the storage pool configuration that a customer is using.). By allowing expiration to expire the file objects, we free up more of the sequential media space and allow reclamation to continue having tapes to reclaim. <@> IY03390 SERVER HANG DURING BACKUP STORAGEPOOL IF WAIT=YES OPTION IS USED The processing for BACKUP STORAGEPOOL with the WAIT=YES parameter may hang and/or abend the server. <@> IY03818 ADSM UNNECESSARILY DISMOUNTS VOLUMES AT END-OF-TAPE PROCESSING During the storing of large client files, if the volume became full the ADSM server would fail the mount of the next volume because the mountwait flag from the client had been reset to false; even though at the beginning of the session the client had set the flag to true. <@> IC25868 ADSM SERVER IGNORES THE SEARCH=BULK PARAMETER ON THE LABEL LIBVOLUME COMMAND FOR 3494 LIBRARIES The server does not correctly perform the following command syntax checking for the CHECKIN LIBVOLUME command: 1) The SWAP parameter is only valid with the SEARCH=NO option. 2) The SEARCH=BULK option only applies to SCSI libraries. 3) The CHECKLABEL=BARCODE option only applies to SCSI libraries. 4) On SCSI libraries, the customer must specify CHECKLABEL=YES or CHECKLABEL=BARCODE when using SEARCH=YES. For the LABEL LIBVOLUME command: 1) The SEARCH=BULK option only applies to SCSI libraries. <@> PQ36581 ANR9999D ANR0530W CONCURRENT SERVER TO SERVER SESSIONS FOR SAME SERVER NODE When using virtual volumes between a source and target server, there is a timing issue where a locking failure on the target server may occur. <@> IY09418 DOUBLE SIDED MEDIA NOT TRACKED PROPERLY DURING RECONSTRUCTION Double-sided media (optical, in this case) are not properly handled during reconstruction of a bitfile that scans the sides of an optical platter and the following error messages are sent: ANR9999D asrtrv.c(563): End reached prematurelyon vol XXXX ...and after running audit reclaim; ANR9999D ssrecons.c(2210): Invalid magic number found inframe header <@> IY09602 SERVER MAY CRASH IN TBPREFETCHTHREAD() IF A SECOND TBVAR STRUCTURE GETS CREATED Server may crash in TbPrefetchThread() due to a NULL pointer write which got returned from HashFindPrefetch(). The problem is caused by the initialization of the TBVars structure. There is a timing window wherethis problem can occur because it is possible for a second TBVars structure to be created, in effect, losing the pointer to the previous hash list. <@> PQ36886 SERVER DATABASE DEADLOCK SITUATION WHEN TRYING TO WRITE VOLUME HISTORY - MIGRATION & RECLAMATION ARE RUNNING AT THE SAME TIME. ANR0390W A server database deadlock situation has been encountered: lock request for transaction x:xxxxxxxx will be denied to resolve the deadlock. ANR9999D ICUTIL(1515): Lock acquisition (sLock) failed for icvhVolumeType 4. ANR4513E A database lock conflict was encountered in processing sequential volume history information. ANR4510E Server could not write sequential volume history information to 'ADSM.SER1.VOLHIST.DATA'. Slip dump on the ANR9999D ICUTIL message was analyzed and was determined that there were a number of migration and reclamation processes running at the time of the failure. A migration process holds IC_LOCK_VOLTYPE volume type=icvhStgNew. The SsAuxThread for this process is waiting for the IC_LOCK_VOLTYPE volume type=icvhStgDelete under that same transaction. One of the reclamation processes holds the IC_LOCK_VOLTYPE volume type=icvhStgDelete and requested the IC_LOCK_VOLTYPE volume type=icvhStgNew. If this request were granted, it would result in a deadlock. <@> IC25945 OPEN DEVICE DESCRIPTORS INHERITED BY CHILD EMM PROCESS A problem has been encountered with the Solaris version 3.1.2.50 of the ADSM server. The server is using an ADIC library defined as an external library. Whenever ADSM creates an EMM process to initiate a mount, any open tape device in the adsm server are inherited by this child process. This is a problem when an open device is later dismounted and then reused by adsm, as the EMM process holds the device open and the new open fails with EBUSY (device busy) until the EMM process completes and exits or is killed. If adsm forks the external library manager in psExtLibProcessInitialize() it closes all file handles having file descriptors between 3 and 63 (which is the value of OPEN_MAX defined in limits.h). This is to prevent the child process from inheriting these handles and runing into the problem described above. However, there can be handles above OPEN_MAX if the ulimits are changed to a higher value. <@> IY08870 ANR9999D AFMIGR.C(2805): ERROR DELETING TRANSACTION FOR 0 BYTES MOVED RECLAMATION, PROCESSING COPY STORAGE POOL VIRTUAL VOLUME During reclamation of copy storage pool volume using ADSM/TSM server to server virtual volumes ANR9999D afmigr.c(2805): Error deleting transaction for 0 bytes reclamation is received. The problem appears to occur against a newly defined virtual volume that was to be used as the output for a full virtual copy storage pool volume being reclaimed. However this new output volume was really never used because the needed primary storage pool volumes were not available (checked out of the library in this case). When this reclaim failed the newly defined volume was not delete but left a full and 100% reclaimable. A query content showed nothing on the volume. This problem can and has been recreate by doing the following: 1) A copy storage pool virtual volume on the source server needs to be reclaimed. 2) The primary storage pool volume with the data needed for the reclaim is checked out of the library. 3) When reclamation starts a new copy storage pool volume is created/defined on the source server and a message to checkin the needed primary pool volume is issued. 4) If the needed primary storage pool volume is not checked in by primary storage pool volume as unavailable, and retry in 60 seconds. 5) At this point the new copy storage pool virtual volume is still defined as an empty volume on the source server. 6) At the 60 reclaim retry point the reclamation begins and complete successfully this time using getting the data from the copy storage pool and using the new volume defined in point 3 as 7) After this reclamation has completed a reclamation for this new volume suddenly kicks off and the anr9999d from afmigr is received. <@> IC26881 LABEL LIBVOLUME W/ OVERWRITE=YES CAN OVERWRITE THE LABELS OF VOLUMES THAT ARE PART OF A STORAGE POOL AND HAVE DATA. The ADSM/TSM server may re-label a volume defined to a storage pool or in the volume history file under the following conditions: 1) The user specified the OVERWRITE=YES option in the LABEL LIBVOLUME command. 2) The volume defined to the storage pool or in the volume history file was either checked out or moved to a previously empty slot within the library. <@> IC27022 TSM SERVER CRASHES WITH DR. WATSON ERROR, EXCEPTION:ACCESS VIOL The server may encounter a segmentation violation or server crash during expiration. <@> IY10633 MULTIPLE VOLUME REMOUNT REQUEST OF FULL VOLUME IN MANUAL LIBRAR If the first segment that is written to a volume* causes the volume to reach EOV, we fail to write this segment because the mount wait flag is false even though it had to be true to mount this volume from the previous write. We unmount this volume and then remount this same volume to finish filling it before we allow the mount of the next volume. <@> IY11007 ADSM SERVER CAN FAIL WITH CORE WHEN BACKUP STG WAIT=YES IS USED The 'BACKUP STGPOOL' command with 'WAIT=YES' specified can encounter a race condition causing the server to crash. <@> PQ27676 ANR8676E ANRUSRXC ERRNO = 4 USEREXIT FOR EVENT LOGGING. Unable to load user exit for event logging <@> PQ31537 ANR0104E ASTXN(1256): ERROR 2 DELETING ROW FROM TABLE 'AS.VOLUM If expiration is running and reclamation begins shortly after, there is a small window of opportunity for reclamation to delete the volume being reclaimed before expiration can perform deallocation. Expiration fails to find the row for the volume in the volume status table and fails. The transaction rolls back leaving entries in the inventory with no volume. <@> This service PATCH also includes fixes for the following defects which were found during the current development cycle : o 23633 - vols not labeled w/ ACSLS 5.3.2 o timer - Increase 3494 drive sharing polling loop timeout value o 24398 - More memory leaks with admCreateCmdDesc <@>