The Progress OpenEdge team recently hosted a webinar on Supporting PAS for OpenEdge with Progress experts Roy Ellis and Dan Mitchell. The webinar will provide basic knowledge of PAS for OpenEdge and some tools to help you support and debug issues. Here is a recap of some of the key topics that were covered.
Before you start debugging the Progress Application Server for OpenEdge (PAS for OpenEdge), it's essential to grasp its architecture. This understanding is not just a technical formality; it’s a critical step that enhances the effectiveness and efficiency of your debugging efforts. Knowing how PAS for OpenEdge is structured helps you pinpoint issues more accurately and resolve them faster, minimizing downtime and supporting smoother operations.
The Classic AppServer requires multiple processes and an adapter to serve web pages. In contrast, PAS for OpenEdge functions as a web server, reducing the number of processes and simplifying operations. It runs as a web application in Tomcat and uses a new multi-session agent supporting multiple ABL applications.
Next, you will need to understand the roundtrip of a request through PAS for OpenEdge. This begins with the client connection, where clients connect via HTTP or HTTPS. The Tomcat web server manages all incoming requests, and Spring Authentication handles user authentication, defaulting to anonymous if not specified. The session manager then processes these requests and sends them to the agent, which uses worker threads to find an available ABL session and execute the requests. Finally, the response is sent back through the session manager to Tomcat and then to the client.
Always start debugging problems by reviewing the log files. Knowing which log file relates to each part of the roundtrip process is essential and is demonstrated in the graphic below. You can find detailed log file information further down.
The most common problem when applications are migrated from Classic to PAS for OpenEdge is application memory leaks. The ABLObjects tracking feature finds memory leaks for you, but making application code changes can take a long time, so you need a way to reclaim system memory while you fix memory leaks.
To keep your application running, or to fix any misbehaving multi-session agent, stopping the agent is your best course of action. Always start a new agent first using the OEMANAGER APIs and send a “stop” command to the misbehaving agent. New requests will be sent to the new agent while the misbehaving agent will continue to process current requests. When requests are completed, the misbehaving agent will terminate, and system resources will be returned.
NOTE: DO NOT KILL the multi-session agent, always STOP it using the OEMANAGER APIs.
For effective debugging, always collect comprehensive logs from the logs directory and database. Check the openedge.properties file for important configuration details. Look for protrace or core files in the work or logs directory for additional debugging information. Inquire about recent changes, as even minor updates can cause significant issues. Finally, understand whether the system setup is on one box or multiple, and if load balancing is used, to better diagnose and resolve issues.
There are many diagnostic tools for PAS for OpenEdge. We will cover oemanager REST APIs, oejmx command line calls, oemanager scripting and the HealthScanner in a future webinar and blog.
Log files are the cornerstone of debugging, and since PAS for OpenEdge differs from the classic AppServer, it has its own set of log files. Log files are your first line of defense when diagnosing issues in PAS for OpenEdge. Here are the key log files you should be familiar with:
By understanding and effectively utilizing these diagnostic tools, you can troubleshoot and resolve issues in PAS for OpenEdge more efficiently. Remember, thorough log analysis is key to identifying the root cause of problems and maintaining smooth operations.
A systematic approach is crucial for debugging PAS for OpenEdge. Here’s a concise guide:
Following these steps helps maintain a stable and efficient PAS for OpenEdge environment.
Sound interesting? Watch the webinar recording.
Jessica Malakian is a product marketing specialist at Progress who focuses primarily on Progress OpenEdge. Jessica is a recent college graduate and is excited to begin her professional journey with Progress. Outside of work, Jessica loves reading and writing.
Subscribe to get all the news, info and tutorials you need to build better business apps and sites