A fix is available
APAR status
Closed as program error.
Error description
RDZ INTERNAL V9010 DEFECTS/ENHANCEMENTS (DSTORE)
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: 01.RDz auditor * * 02.RDz Users * * 03.RDz USS Users who upload executable * * files * * 04.RDz Users * * 05.RDz Users * **************************************************************** * PROBLEM DESCRIPTION: 01.Enhancement to add audit logging * * for z/OS UNIX based file actions. * * 02.Some problems with server memory * * and handling of lots of USS * * commands * * 03.USS upload of existing execute * * permission file can result in * * duplication when using backups. * * 04.Problems with set USS Shell * * environment variables and memory * * cleanup * * 05.Problems with a logged exception on * * shutdown and missing blank lines in * * USS shells * **************************************************************** * RECOMMENDATION: * **************************************************************** 01.Enhancement to add audit logging for z/OS UNIX based file actions. 02.Server memory management and USS command performance need to be improved. 03.If server backup files are used and an executable USS file gets uploaded to replace a previous one, the contents can be duplicated. 04.When there a large number of USS shells (and commands) it is possible for sent environment variables to get ignored. It is also possible for USS shells (and commands) to not have their memory cleaned up properly. 05.On shutdown an NPE is logged via the DataElementRemover. Better null checking is needed there. When running USS shells it's possible for blank lines to be ignored.
Problem conclusion
01.This change involved adding logAudit() interfaces to ServerLogger and UniversalServerUtilities along with calls to the logAudit() methods from places in the USS server function that access and/or modify files. This was added so that customers requiring audit information about accessed files have a means of accumulating that data. This should have no impact on those who don't need audit logging but, for those who do, it provides new function. 02.There are a number of improvements to the spiriting mechanism and some miners that use it. The changes include a means of ensuring that the server doesn't spirit the same elements multiple times and that recently used elements have their spiriting deferred. Command elements are spirited differently in that they get updated directly rather than via their parent (the log). The XMLparser has changed to not set the parent of a newly arrived element if its parent will be the document root. There are changes to the UpdateHandler so that the client DataStore now unmaps (but doesn't delete) spirited elements; unused elements can be freed on the client. The USS command miner and file system miner have been updated to spirit some elements that had previously stuck around. These updates should not effect any basic functionality but, over the course of a session, they should improve memory consumption. The USS CommandMiner no longer runs an init thread to change the prompt for C_COMMAND commands. While this is needed for C_SHELL commands, there is no need for simple commands. Also duplicate cleanupThread() calls are avoided. The USS EnvironmentMiner has been updated to use spiriting rather than brute force deletions to clear out old environments. This makes the server more robust when working with large numbers of commands over long periods of time. The USS UniversalFileSystemMiner supports a new C_QUERY_HIERARCHY command allowing users to query all the files and sub-folders under a directory. This was added to improve the performance of certain scenarios for RDAL projects. This has no impact on RDz. The USS CommandMiner was updated to spirit elements (without a refresh to the client) while a shell is running, as opposed to only at its completion. This helps keep server memory down in cases where long running shells produce a lot of output. 03.The USS ByteStreamHandler had a bug that caused duplicate data when an executable file was uploaded over a previous one (when the backup files setting is active). A fix was provided for that so that users who upload executable files (when the backup files setting is active) won't run into this anymore. 04.There were couple problems with the EnvironmentMiner and the CommandMinerThread. First, it is possible for the EnvironmentMiner.handleSetEnvironment() to complete after the corresponding CommandMinerThread.getEnvironment() is called. In such cases, the project-specific environment would be missing. To resolve that we synchronize on the subject when setting and getting the environment. In the EnvironmentMiner we're assuming a project environment is named like this: subject.getName() + ".env". But, a while back, a project environment sent to the server changed to use subject.getId() instead (so that it was absolutely unique). As a result, the EnvironmentMiner would never find any previous environment associated with a given project element. In CommandMinerThread.getEnvironment() we were trying to find the subject environment by looking for the "inhabits" relationship of the subject and it's ancestors. We can more easily get that by simply looking for the environment associated with the subject's id (since we name it based on the subject id). In CommandMinerThread.cleanup(), the parent of a project environment was getting spirited - instead the project environment should just be removed from its parent and only the environment should be spirited. In addition to the USS shell/command stuff, the generic C_SET command gets cleaned up after completion. 05.The NPE that gets logged during shutdown can be avoided by checking for null. Furthermore, elements that are queued for spiriting are now removed without checking for recent use on the log. USS shell handling needs to account for lines that have no content so that they can be displayed to the user and other consumers.
Temporary fix
Comments
APAR Information
APAR number
PM94620
Reported component name
RD/Z HOST
Reported component ID
5724T0723
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-08-06
Closed date
2013-11-29
Last modified date
2013-12-12
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
FEK#LVL# FEKFDST0 FEKFDST2 FEKFT001
Fix information
Fixed component name
RD/Z HOST
Fixed component ID
5724T0723
Applicable component levels
R900 PSY UI13095
UP13/12/12 I 1000
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSJK49","label":"IBM Developer for z Systems"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
27 October 2020