Part 2: A long–term strategy for addressing unresponsive SAS® Stored Process Servers with SAS® 9.2
SAS Technical Support has received reports of previously working SAS Stored Process Servers becoming unresponsive over time for unknown reasons. Unresponsive means that the SAS Stored Process Servers are running, but no requests from client applications are getting through to the server. These servers might also be referred to as hung or orphaned SAS processes.
What do you do?
- Initially, addressing this issue with customers starts as a "put out the fire" situation in which Technical Support offers suggestions for confirming that the servers are down or unresponsive and cleaning up and recovering from the problem immediately.
See SAS Note 43160, "Tips for addressing unresponsive SAS 9.2 Stored Process Servers, Part 1" for instructions on how to recover from the immediate problem of unresponsive servers.
- Next, you must apply the hot fix that is documented in SAS Note 43541, "The SAS 9.2 Stored Process Server becomes unresponsive in some conditions."
- If the problem persists after applying the hot fix in SAS Note 43541, then a long–term strategy is needed to gather information and determine why the problem occurs.
This document provides a suggested long–term strategy to facilitate this evaluation.
Enable verbose logging for the Object Spawner and SAS Stored Process Server.
To examine this problem over time, you must add logging information to the Object Spawner and stored process server logs. You are not only looking for obvious errors in the logs but also clues as to a pattern to the problem. For example, what was the last step or program that successfully executed? What is the last entry that was written in the log? The following SAS notes are useful:
- SAS Note 34893, "Turning on additional logging for the SAS Object Spawner"
- SAS KB0041742 "Creating a detailed SAS® Stored Process Server log by default"
After enabling verbose logging for your Object Spawner and SAS Stored Process Server, you must now wait for the problem to occur again.
Once you believe there is a problem, save a copy of the ObjectSpawner_yyyy-mm-dd_pid.log file and ObjectSpawner_console.log file (UNIX only) and all of the SAS Stored Process Server logs that correspond to the same time frame when the problem occurred. Be sure to collect the ObjectSpawner_console.log file before you restart the Object Spawner or it will be overwritten.
Here are some things that you need to consider:
- How often does the problem occur? Hourly? Daily? Weekly? Sporadically?
- When does the problem occur?
- Does it occur after running a particular stored process or sequence of stored processes, or does it seem to occur randomly?
- Does it occur at the same time of day?
- Does it occur when graphics output is being generated in the stored process?
- Does it occur when stored processes are executed from one particular client (such as SAS® Enterprise Guide®, SAS® Add-In for Microsoft Office, STP Web Application, SAS® Web Report Studio)?
- Does it occur with a high user load?
If the problem can be isolated to a particular stored process or sequence of stored processes, use the macro code described in SAS Note 19573, "Macro that helps when debugging 'hanging' Stored Process Server problems," to help identify the problematic step in the program.
If the cause to the unresponsive SAS Stored Process Servers cannot be determined using the above tips, compile the information that is obtained from these steps and contact SAS Technical Support for further assistance.
If you are experiencing unresponsive stored process servers using SAS 9.1.3, refer to the following notes:
- SAS Note 30952, "Tips for addressing unresponsive SAS® 9.1.3 Stored Process Servers, Part 1"
- SAS Note 30716, "Tips for addressing unresponsive SAS® 9.1.3 Stored Process Servers, Part 2"