Making Your Long Running SAS® Stored Processes Run

Introduction

You might have run a stored process that executes fine on SAS® Enterprise Guide or Excel SAS® Add-In; however, when run on SAS® Stored Process Web App or SAS® Information Delivery Portal, they time out before the output is sent back to the client. Typically, it either shows as an internal server error or downloads a corrupt/incomplete output file.

 

So, what is going on?

The first clue is the fact that the stored process executes correctly in SAS®2 EG or SAS® Add-On. It means that the SAS® Stored Process or Workspace server is correctly configured to execute SAS® code. However, if the same stored process fails to execute when run through the SAS® Web Portals, it indicates that the configurations of the web app server or the web server to be blamed.

Looking through the logs, it is clear that the issue is the time out of the http server or SAS® Web Application Server(s) on which the request is processed. When you submit a SAS® Stored Process via a SAS® Stored Process Portal, the request is submitted to the http server, which communicates with the SAS® Web Application Server, which in its turn passes the request to SAS® Stored Process Server or Workspace Server, where the SAS® Code is finally executed. While the SAS® server is processing the SAS® Code to generate the output, http server remains idle and waits to receive a response back from the SAS® Server, but due to the default configurations in the web http server, the http session times out after 60 seconds, which results in an error page suggesting Internal Server Timeout Error or output of an incomplete _webout destination.

 

So what can be done about it?

To increase the timeout for http server from default value of 60 seconds to a more suitable time, you will need to make the changes to the Apache httpd configuration file that controls behaviours of linked Web Application servers. In case of IBM Websphere server, this file would be named as plugin-cfg.xml. Within this xml file, you would find the configurations for each JVM cluster configured to your web application server. For each of these JVM clusters, the ServerIOTimeout parameter can be changed from the default value of 60 to any desired value.

For other web application servers, this xml file can be found in the httpd.conf file.

If the timeout is caused by excessive load on the Stored Process Server, consider either increasing the pool size of Stored Process Servers or execute Stored Process on workspace servers instead. Load balancing in SAS® is a large topic that is well covered elsewhere.

 

Summary

If the Stored Process times out, check your server load and configuration files for your mid-tier components. If you have any questions about this article or you need help with your SAS® platform, please get in touch by either leaving a comment below, or contact us via the Contacts page.

About author

Vasilij Nevlev
Senior SAS Consultant
Vasilij Nevlev is experienced Senior SAS Consultant with a proven track record of delivering end-to-end tailored SAS® business analytics solutions for a variety of companies in the UK and Europe.

Our services

Reliability is the key. We ask the right questions, at the right time in order to deliver a solution that is perfect for you.

Reducing exposure to fraud related losses, through the SAS platform, is easier than you may believe. It is an area we have focused on because of the major benefits that can be achieved simply by employing the correct defences.

We expect our personal data to be available to us wherever we go, to find a mobile application for whatever we need. Unfortunately this is not always possible for corporate data and applications.

It’s no secret that the internet is full of easily accessible free information so why not make more use of it in the corporate business sector?

Many organisations are drowning in a sea of disorganised data, seeing it as simply a bi-product of operations used for minimal MI reporting. In reality, fully optimised data management is the most powerful tool any business possesses.

SAS is one of the most advanced and sophisticated data analytics platforms on the market, but it is made up of dozens of major elements in multiple environments.

We pride ourselves on being a forward thinking, innovative company and as such we positively enjoy sharing our knowledge and expertise.

Discussions

Comments are closed.

Still have questions?

Ask our manager