SUBJECT: Hot fixes for VisualAge TeamConnection Version 3 Fixpak 2 - INTEL HotFix 3 for Fixpak 3.0.2 DATE : July 21, 1999 MOST UP-TO-DATE VERSION OF THIS README FILE ------------------------------------------- The most up-to-date version of this readme file is located in: ftp://ftp.software.ibm.com/ps/products/teamconnection/fixes/intel/HotFixV3/i302hotfix3readme.txt TABLE OF CONTENTS ----------------- What are hot fixes? Hot fixes shipped for fixpak 3.0.2 Hot Fix #3 Hot Fix #2 Hot Fix #1 INTEL Installation Details on what is done by HOTAPPLY.CMD Documentation changes WHAT ARE HOT FIXES? ------------------- Hot fixes are interim fixes shipped by the VisualAge TeamConnection development team that do not follow the normal (planned) fixpak schedule. These fixes are tested, but not through our normal regression test cycle. THEY SHOULD ONLY BE APPLIED TO INSTALLATIONS AT VERSION 3, FIXPAK 2 LEVEL. In case that later on you want to ensure that you have installed this HotFix, you can do the following: All platforms: Execute the new command introduced in hotfix 3: tclevel INTEL: Verify if d:\teamc\readme.hf3 is installed. Where d: is the drive where VisualAge TeamConnection is installed. This file name is compliant with the 8.3 limitation for FAT drives. Unix: Verify if $TC_HOME/readme.hotfix3.fixpak302.txt is installed. Where the default $TC_HOME for AIX is /usr/teamc and for HP-UX and Solaris is /opt/teamc. If you have received interim fixes from IBM support before this hotfix you should be aware that if this hotfix is a cumulative hotfix, then this will supersede those interim fixes. HOT FIXES SHIPPED FOR FIXPAK 3.0.2 ---------------------------------- Hot Fix #3 - 07/08/1999 (as I302hotfix3os2.zip for OS2 and I302hotfix3win.zip for Windows NT) This hotfix is cumulative and includes the fixes provided in hotfix 1 and in hotfix 2. Hot Fix #2 - 06/02/1999 (as I302hotfix2os2.zip for OS2 and 04/19/1999 I302hotfix2win.zip for Windows) This hotfix is cumulative and includes the fixes provided in hotfix 1. Hot Fix #1 - 03/12/1999 (as I302hotfix1os2.zip for OS2 and I302hotfix1win.zip for Windows) HOT FIX #3 ---------- The following defects and APARs (sorted by Defect Name) are fixed in Hot Fix 3: 33246 NT GUI - Cannot enter a directory with a space in the Source Directory field. APAR: IY01079 33252 NT GUI - directory names should not be included in the list of choices for part create. APAR: IX88734 33486 change some messages used with authentication function 33492 change message 6021-103 33493 do not checkin a checked-out part that should have a file to avoid changing the file size of the part to 0 bytes inside the family APAR: IY00222, IX88533 33582 HTML web client not working with PASSWORD_ONLY/PASSWORD_OR_HOST 33668 renamed parts do not migrate correctly from V2 33669 build parameters on parts need to support > 245 chars. 33670 use pathname to migrate common parts, rather than basename 33733 provide internal tracing for some login functions 33840 partview failed in format parser command due to null workarea 33867 migrate common parts skips valid common parts 33869 migrate partfullview on OS2 does not extract any parts. 33884 incorrect configField data gets migrated from V2 33916 dropDate is not set for deleted parts after migration from V2 33921 build rels do not migrated correctly from V2 33937 tclicmon: entries out of order in audit.log cause infinite loop APAR: IY01389 34026 prepare tclevel tool to easily identify version of the code 34052 Force all build rels to the tip 34139 Fix problems with tclogin APAR: IY01724 HOT FIX #2 ---------- The following defects and APARs (sorted by Defect Name) are fixed in Hot Fix 2: 22229 AIX: teamc tclogin command echoes typed password on screen 33064 Migrate partfullview on AIX fails 33092 When Part Checkout to an invalid directory fails, the lock is kept on part. APAR: IX88533 33109 CMVC -> TC migration, migrate commonparts fails APAR: IX89193 33125 Make necessary workarea integrate change. 33144 Scalability: Memory Leak on reports 33213 Driver commit failed after migration (version sequence wrong) APAR IX89191 33214 TC migration - isTip set incorrectly on fhcoversion record 33216 CMVC migtc - wrong parts extracted after migration. 33237 cfgField/*.ddv must be processed after other .ddv 33240 tcstop needs to account for different shared memory reports APAR: IX89113 33308 add WorkAreaExtract authority to the default authorit.ld 33309 Add Erwin model changes 33310 monitor tool core dumps on Solaris APAR: IX89148 33326 Add xml fixes 33329 Workarea -extract fails when file size greater than 16MB 33334 Handle locks involved in contention APAR: IX88762 33352 File names with spaces in Create->Choices in NT client APAR: IX89566 33354 Model additions for ERwin 33457 Drop erw tables HOT FIX #1 ---------- The following defects (sorted by Defect Name) are fixed in Hot Fix 1: 32538 Wrong behavior on userExit id 1 when rc <> 0 Duplicate defects: 32807 32946 Updates to the readme file 32965 WebClient only allows one common release on PartCheckIn 32844 Build status constraint with workarea -undo 32947 Records shown on access list 32972 Modify 0011-222 message to say that user is not currently logged in 32974 Out of synch problem and rc 128 problem 33026 Intermittent trap in FHCRSCLI during populate 33064 Migrate partfullview fails 33105 Ovewriting of older parts when adding driver members Duplicate defects: 32674, 32718 INTEL Installation ------------------ To install this hotfix from the beginning, follow these steps. a) Login as an administrator and unzip the appropriate file for your platform. It is assumed that the zip file is located in C:\temp. Note: Unzip the hot fix zip file, with the option to create directories! The Server parts are in the SERVER directory, client parts in the CLIENT directory, common parts in the COMMON directory. The installation command file (hotapply.cmd) will copy/rename the appropriate files from these directories. b) Stop all the programs related to VisualAge TeamConnection: family server (you may use tcstop), notify daemon, build server, GUI. If you do not do this step, the installation of the hotfix will fail because some files that are in use will not be replaced with the new ones. c) Stop all major applications running your system, except DB2 (because it is needed during the rebind step). WARNING: The action in step (f) requires lots of resources in your system. Thus, to minimize the risk of a failure in that step, you need to stop all the applications in your system. d) Logout as administrator. For each family in your system, login as the VA TC family user id and make a DB2 database backup before processing. 1. Invoke a DB2 command window by running the following command: DB2CMD 2. Back up your TeamConnection database using the DB2 Backup command. The syntax of the DB2 backup command is: db2 backup database family_name to backup_directory 3. Substitute your family name for family_name and a directory path for your backed up database for backup_directory. The DB2 backup utility will place a compressed version of the database in the backup directory path. Be sure to set file permissions for the backup directory such that the compressed backup file is accessible. Note: * For details on backing up DB2 databases, see the DB2 Universal Database Administration Guide. e) A Rexx command file, HOTAPPLY.CMD, has been provided to automate the installation task. The original parts will be renamed with a file type of .ntt (for example migtc.exe becomes migtc.3xe) before HOTAPPLY copies the parts included in this hotfix. You should execute HOTAPPLY.CMD only once in your system, even if you have multiple families. Do NOT execute HOTAPPLY.CMD more than once. In case that the last step of HOTAPPLY fails (the rebind of the database by executing the command fhcirtup.exe), then please proceed with step (f). From a command prompt in Windows or OS/2 execute the following command, which is assumed to be in C:\TEMP (the location where the zip file was expanded): cd C:\TEMP HOTAPPLY.CMD You may disregard the following warning messages: 240 *-* 'rename' file bkname' >NUL 2>&1 ' /* rename so original backup is >>> "rename fhmnetc.dll fhmnetc.3ll >NUL 2>&1 " +++ "RC(1)" Note for Windows users: * The utility hotapply.cmd relies on REXX being installed in your system. If you have DB2 UDB installed, then it provides a version of REXX that can be used by hotapply.cmd. However, if you have a client machine that does not have DB2 UDB, then hotapply.cmd will fail if you do not have REXX installed. f) You will need to rebind the current VA TC family that is specified by the %TC_FAMILY% environment variable. It is recommended to have only 1 VA TC production family per DB2 instance, and only one DB2 instance per Intel host. In short: only 1 VA TC production family per Intel host. In case that you have test VA TC families in the same DB2 instance, then you must rebind every single VA TC family using the new files by repeating the process with the corresponding family name in the variable %TC_FAMILY%. You must set %TC_FAMILY% to each unique family name and run the following command. This command uses a lot of resources in your system. If there is not enough paging space, then DB2 will fail to complete the processing of the following command. f.1) cd %TC_DBPATH% f.2) fhcirtup %TC_HOME%\nls\cfg\*.dd* %TC_HOME%\nls\cfg\*.bnd Note: * If this command fails, you can do the following: 1) If during the execution of fhcirtup, you encounter a series of error messages that look like: Error was on line '8' of file '/usr/teamc/nls/cfg/_ewswerw.ddl' Then the following workaround can be performend, ONLY if you are NOT a user of Data Atlas or Data Dictionary: 1.a) login as root in UNIX or as a member of the Administrators group in NT. 1.b) Change to the directory where VA TC was installed. This is the value of $TC_HOME for family user ids. The defaults are: AIX: /usr/teamc HP-UX: /opt/teamc Intel: d:\teamc (where D is the appropriate unit drive) 1.c) Change to the directory where the _ews* files are located: UNIX: cd nls/cfg Intel: cd nls\cfg 1.d) Create a new directory where the _ews* files will be moved: mkdir ews 1.e) Move ALL the _ews* files (which are ONLY needed for working with Data Atlas or Data Dictionary) to the newly created "ews" directory. 1.e.1) In UNIX do: mv _ews* ews/. 1.e.2) In Intel you may do a copy and then a delete of those files: copy _ews* ews\. del _ews* 1.f) login as the VA TC family user id. 1.g) Run again "fhcirtup" as indicated in the readme for hotfix 2. 1.h) Continue with the instructions in this readme. Step: "g) Update the database views" 2) Try it again and this time show more messages and capture the output: fhcirtup -v %TC_HOME%\nls\cfg\*.dd* %TC_HOME%\nls\cfg\*.bnd > fhcirtup.out 3) Windows NT only: While fhcirtup is running, you may invoke the Task Manager and see the memory usage from the Performance tab. 4) If the fhcirtup fails, then a very likely possibility for the failure is that there is not enough paging space in your system and DB2 cannot process the appropriate requests. Please take a look at the following DB2 log file: D:\teamc\sqllib\db2\db2diag.log There might be some entries at the bottom of the file that mention problems with the paging space. If this is the case, then you need to increate the paging space in your system, reboot it and try again the fhcirtup command. g) Update the database views for each family. g.1) You can execute the new tool (added in hotfix 3 for fixpak 302): updviews.bat This tool will invoke fhcfupdv as shown in the next section which you can skip if updviews.bat runs without problems. g.2) In case of problems with updviews.bat, you can do the following: For each of the following *.tbl files that exist in the %TC_DBPATH%\CFGFIELD directory, you need to run the fhcfupdv command: fhcfupdv Defect.tbl DefectView fhcfupdv Defect.tbl DefectDownView fhcfupdv Feature.tbl FeatureView fhcfupdv Feature.tbl FeatureDownView fhcfupdv Part.tbl PartView fhcfupdv Part.tbl PartFullView fhcfupdv User.tbl Users fhcfupdv Release.tbl ReleaseView fhcfupdv Workarea.tbl WorkAreaView Notes: 1) You can run the fhcfupdv command multiple times on the same view without hurting the family. Also note that if you want to run this command on another family, you must change all your TeamConnection environment variables to reflect the new family (for example: set C_FAMILY=newFamily) 2) If you do not run the above fhcfupdv commands, then you may get the following error message when dealing with objects that use configurable fields: 0012-002 The following SQL error was detected: File Name: adsqlsvr.sqc Line: 388 SQLCODE: -727 SQLSTATE: 56098 SQLMessage: SQL0727N An error occurred during implicit system action type "2". Information returned for the error includes SQLCODE "-206", SQLSTATE "42703" and message tokens "SYMPTOM". SQLSTATE=56098 h) Run the database reorg script TeamConnection ships with a database reorg script that you should use after making significant changes to a family. A significant change might be loading the family, adding lots of new parts, or making numerous part changes. You should definitely run the reorg script after running the fhcirtup command. This process should produce the optimal statistics and performance. Note: On NT you have to submit db2 commands from a db2 command window. You can run the db2cmd command from a dos command window to get one. For Intel servers, the reorg command is called analyzer.cmd. The procedure for running this command is as follows: h.1) On NT, start a db2 command window (you don't have to do this for OS/2) by doing one of the following: - From Start, select Programs > DB2 for Windows NT > Command Window or -From a normal command window, run the following command: DB2CMD h.2) Change the directory to the family directory. For example: cd f:\teamc\testfam (replace drive and family directory with those for your installation) h.3) From the command window, backup the database. The syntax for doing this is: db2 backup database family_name to backup_directory (Example: db2 backup testfam to f:\teamc\testfam\backup) h.4) Run the following command: db2 connect to testfam (where testfam is the family name) h.5) Run the following command: db2 reorgchk update statistics on table user > reorgchk.out This will check all the tables that were created by this user and produce an output file. h.6) On OS/2, run the following command: analyzer.cmd reorgchk.out myreorg On NT, run the following command: rexx analyzer.cmd reorgchk.out myreorg (where myreorg is a filename that you provide) This will create a CMD file called myreorg.cmd, which will reorg the tables and indexes and run the runstats command. The runstats command updates the statistics in the DB2 catalogs. [Note: DB2 for Windows NT provides a version of REXX that must be properly installed on your NT system for this to work.] h.7) Run the output of step h.6. For example, if the output of step h.6 is myreorg.cmd, you would run the following command: In OS/2 : myreorg testfam IN NT: rexx myreorg testfam i) Rebind the database by running the folowing command: Intel: fhcirt %TC_HOME%\nls\cfg\*.bnd Unix: fhcirt $TC_HOME/nls/cfg/*.bnd This allows DB2 to recalculate the optimal access plans for the static sql in the TeamConnection application. j) Now you can start using your VA TC family. k) In case that you had the problem with fhcirtup and had to move some files to %TC_HOME%\nls\cfg\ews, then you need to copy them back to %TC_HOME%\nls\cfg, because these files are needed to create a new family. DOCUMENTATION CHANGES --------------------- The following documentation changes are applicable to the hot fixes: * DB2: Better performance when using DB2_CORRELATED_PREDICATES=ON A customer confirmed that the following DB2 variable available in 5.0 (but which was improved in DB2 UDB 5.2), greatly improved the performance of some DB2 actions. a) Setup the variable via the DB2 Profile Registry command db2set DB2_CORRELATED_PREDICATES=ON b) Stop and restart the DB2 instance: db2stop db2start c) Verify that the variable is set db2set -all d) An example of the output from (c) is (showing only the variable in question): [i] DB2_CORRELATED_PREDICATES=ON * Defect 32974: How to deal with "can't login/can't logout" problem. Question: When the VA TC family server goes down, it loses its security tokens; that is, the family server will no longer keep track if a user is logged in or not. If the client is still logged in when this happens, the next time the client tries to log in, they will receive a message stating they are already logged in because the Login Manager at the client still thinks that the user is still logged on. When they try to log out they receive a message stating they are not logged in. A solution for this is being tested and will likely appear in fixpak 303. Workarounds: Any one of the following should be sufficient. 1) When the user attempts to LOGOUT, the client is logged out from the client-side login manager. Thus, if the user simply tries to LOGOUT then LOGIN, the login should be successful. 2) Kill the client login manager as described in the TeamConnection readme.txt, which is to issue the following command, and after that, then login in a normal way: teamc tclogin -KILL_TCLOGINMGR 3) Alternatively, if number (2) has not worked, you may find the "teamc tclogin" process on the client and kill it, then login in a normal way. This can be done as follows: (UNIX and OS/2) ps -ef | grep tclogin (note which PID represents tclogin) kill (where PID is the tclogin PID) (NT) bring up the task manager go to the processes tab find the teamc.exe process and right click on it choose "End Process" * Defect 33105: userExit program for MemberCreate exit Id 0 A userExit C program for MemberCreate exit Id 0 (Unix: samples/c/MC0.c Intel: SAMPLES/MC0.c) was added. This user exit prevents users from adding driverMembers that are in a fix state. * Defect 33308: WorkAreaExtract authority is missing from authorit.ld Due to an omission in authorit.ld, non-superusers are not authorized to use the workarea extract command. For existing family it is necessary to add the appropriate entries for the WorKAreaExtract permission in the authorit.ld file in order for non-superusers to do the extract. After the hotfix is applied, any new families that are created will have the proper entries in authorit.ld 1. Edit the authorit.ld file located in the family home directory. Add WorkAreaExtract to each group that currently has WorkAreaCreate authority. By default, this is the list: developer+|WorkAreaExtract builder|WorkAreaExtract releaselead|WorkAreaExtract componentlead|WorkAreaExtract projectlead|WorkAreaExtract 2. execute from the family home directory: fhclauth authorit.ld NOTE: fhclauth does not catch many errors in the authorit.l d file. Therefore Be very careful to add the entries correctly. Otherwise, errors will most likely not be detected until run time by the users. 3. tcstop familyName 4. teamcd familyName Note about TCADMIN: This new action will not be in existing families. The family administrator has to use TCADMIN, select Properties->Groups->Authority Settings and select it for the desired groups. * Defect 33352 (file names with spaces in NT): Problem: Workaround and Fix: USING FILE NAMES WITH SPACES (available for NT only) It was decided to make Actions->parts->create->choices work with file names with spaces, then allow the user to checkout the part like normal, work on it with their own editor, and check it back in. CURRENT BEHAVIOR:(v302 HOTFIX2) Actions->Parts->Edit Still cannot be used with file names with spaces. Actions->Parts->create The choices button will produce a list of files with quotes around them. Selecting one of them and choosing OK, causes the quoted path to be written into the Path Names field of the Create dialog. For all the Parts dialogs (create, checkout, etc) The user must type quotes around file names with spaces in the "Path Names" entry field. If the user types in part path names (with spaces) without quotes, the command will fail because the part will not be found. A message will alert the user that they should try using quotes. EXAMPLES: Actions->Parts->Create->Choices Choose any file with spaces, such as "my file.c" Alternatively, you may type a long file name with blanks into the Path Names field of the Create Parts dialog and specify double quotes to surround the file name: "my file.c" You may not type a long file name with blank spaces without quotes into the Path Names field of any of the Parts dialogs. my file.c * Defect 34026: prepare tclevel tool to easily identify version of the code A new tool called "tclevel" can be used now to easily identify the version of the code. For example: $ tclevel @(#) teamc (C) Copyright IBM Corp.,1996,1999 @(#) teamc Platform: Windows NT Version 4.0 @(#) teamc Release: v302 @(#) teamc Driver: N1999-06-30 @(#) teamc HotFix: 3 The above information (with the exception of the hotfix value) can also be obtained as follows: $ cd %TC_HOME%/bin $ tcwhat teamc.exe | grep teamc Note: In Windows NT you could use "findstr" instead of "grep". * Defect 34139: Fix problems with tclogin In hotfix 3 some previous login problems were fixed by no longer using client addresses to distinguish security tokens. Older v302 clients should work well with the fixes applied to the server. There are three points to note: 1) Bad security tokens will remain in the server's array. The length of the token array on the server was increased to 5000 tokens to handle a larger number of tokens, but the administrator should ensure that the family is recycled regularly so that the token array does not fill up. This means bringing the family down and then up again. 2) One login problem that was not fixed in v302 by this hotfix occurs when the user is logged in and the server goes down and comes back up. If the client next attempts a report like "Objects->Users->Users" or the equivalent "teamc report" command, they will see a message similar to the following: ------------------------------------------------------------------------- 0011-163 The family server and the local login manager are out of synch. You need to login again to resynch. Recovery: You need to login again. If your last action was a report, you need to logout first and then login again. ------------------------------------------------------------------------- Unfortunately, the login attempt will fail. To overcome this problem, the user must first LOGOUT and then LOGIN again. 3) The login fixes for this hotfix have resulted in a confusing error message. When the user is logged in and the server goes down and comes back up, message 0011-163 appears when the user tries to log out. The message can be ignored and considered to mean the logout was successful. * Defects 33246 and 33252: NT GUI - directories and files with a space in the name. There is a problem when trying to enter spaces in both the directory and the file name when doing Actions->Parts->Create. When you press the Choices button, it expects that the source directory path name should not have double quotes around it. However, after you have chosen a part and it appears in the name field, when you press OK to create the part, it expects to have the double quotes around the source directory path name. WORKAROUND: * Do Actions->Parts->Create * Type the directory path without quotes into the "Source directory" field, such as: d:\teamc\long name * Click the Choices button. * Choose the files you want and press OK. * In the Parts->Create dialog, the part names appear in the "Part names" field. Put double quotes around the directory path in the "Source directory" field and press OK. * The part should be created successfully. *** end of file ***