Diagnosing node status issues within the SAS® Enterprise Miner™ Client or SAS Enterprise Miner via Java Web Start on SAS® 9.4


When running a flow within SAS Enterprise Miner, you might encounter an issue where the status of a node is not accurately reflected within the user interface.

Here are some examples:

For symptoms such as these, or other similar symptoms, the following steps serve as a diagnostics guide.


Background

Before collecting any diagnostic data, it is critical to understand how the status is updated and reflected within the SAS Enterprise Miner user interface. First, when a flow is running within SAS Enterprise Miner, that work is taking place on a SAS® workspace server. While the work is being performed on the SAS workspace server, regular updates regarding the status are communicated to SAS® Web Application Server. SAS Web Application Server then communicates the status to the end-user application (SAS Enterprise Miner Client or SAS Enterprise Miner via Java Web Start). A communication breakdown anywhere in this chain can cause the symptoms that are described above or other similar symptoms.


Reviewing the run.log

To diagnose such symptoms, the chain of communication must be analyzed starting with the activity on the SAS workspace server. Conveniently, the run.log file that is associated with the SAS Enterprise Miner project contains a subset of the information that is found in the SAS Workspace Server logs. That subset is enough to diagnose these types of issues. As such, it is not necessary to obtain SAS workspace server logs. You can use the more readily available run.log file instead. You can find the run.log file that is associated with the SAS Enterprise Miner project in the following location: <SAS_Enterprise_Miner_Projects>\<project_name>\Workspaces\EMWS#\System\run.log.

If there are errors within the run.log file, then they are likely related to the observed symptoms, especially if those errors occur when executing PROC HTTP calls. Resolving any errors that are displayed within the run.log file is a step toward resolving the symptoms that are observed within SAS Enterprise Miner.

If you are engaging SAS Technical Support to address symptoms such as these, be sure to include the run.log file.


Investigating SAS Web Application Server

The majority of issues like these are diagnosed as a result of reviewing the run.log file, but some issues are not. If there are no errors within the run.log file and the PROC HTTP calls are completed successfully, then the investigation needs to move to SAS Web Application Server.

In order to investigate SAS Web Application Server, advanced logging needs to be enabled. See the section below entitled Enabling DEBUG for eminer, eminer.midtier, and jobexecution. After you make the necessary changes, restart SAS Web Application Server. Recreate the issue. Then, collect and analyze the following logs:

Clear the logs in these locations while the server processes are stopped and before the server processes are restarted. This action reduces the time needed to upload, download, and analyze the logs.

It is possible that these log files are too large to send via email, even after compression. The following SAS KB article details how files can be transferred to SAS Technical Support after a tracking number has been created: SAS KB0036136, "How to upload and download files using the SASTSDrive file sharing server."

A tracking number is created automatically when you engage SAS Technical Support.


Enabling DEBUG for eminer, eminer.midtier, and jobexecution

  1. Find the following files and make a backup copy of each file: <SASConfig>\Lev#\Web\Common\LogConfig\SASEnterpriseMiner-log4j.xml <SASConfig>\Lev#\Web\Common\LogConfig\SASWIPServices-log4j.xml
  2. Open the SASEnterpriseMiner-log4j.xml file for editing and find the following two sections:
    <category additivity="false" name="com.sas.analytics.eminer" >
      <priority value="WARN"/>
      <appender-ref ref="SAS_CONSOLE"/>
      <appender-ref ref="SAS_FILE"/>
    </category>
    ...
    <category additivity="false" name="com.sas.analytics.eminer.midtier">
      <priority value="WARN"/>
      <appender-ref ref="SAS_CONSOLE"/>
      <appender-ref ref="SAS_FILE"/>
    </category>
    
    For each of these sections, change the priority value from WARN to DEBUG. Here is an example:
     <priority value="DEBUG"/>
    
    Save the changes that were made to SASEnterpriseMiner-log4j.xml
     
  3. Open the SASWIPServices-log4j.xml file for editing and find the following section:
    <category additivity="false" name="com.sas.svcs.jobexecution">
        <priority value="WARN"/>
        <appender-ref ref="SAS_CONSOLE"/>
        <appender-ref ref="SAS_FILE"/>
    </category>
    
    Change the priority value from WARN to DEBUG, similar to what was done in step 2 above.
    Save the changes that were made to SASWIPServices-log4j.xml.
     
  4. Restart SAS Web Application Server so that the changes take effect.