When trying to initiate some processes in an environment, a 500 - Internal Server Error is displayed.
500 - Internal Server Error
When checking CPU usage on the server hosting the Appian engines, a single execution engine is found to be running at 100% CPU. Steps to verify this are listed below:
This issue occurs when one of the below engine performance logs reaches 10 megabytes in size:
These logs can be found in the <APPIAN_HOME>/logs/perflogs directory. These logs will roll over anytime an execution engine is restarted. Therefore, it has been calculated that this behavior should only occur if an execution engine has been running continuously for no less than approximately 60 days.
The reason these logs can cause an execution engine to max out at 100% CPU utilization is a result of how select values in these logs are calculated. Transient tables within the execution engine that populate values in these logs become too massive to scale any further, which causes the engine to lock while trying to process the data. This issue has been reported to the Appian Product Team, and the reference number for this issue is AN-146311.
Open a case with Appian Support and note to the case description that you are experiencing behavior in line with this article.
This issue can be resolved by restarting the environment. To avoid downtime in the environment, moving the above mentioned log files to a directory other than <APPIAN_HOME>/logs/perflogs and restarting the afflicted engine will resolve this issue. A single execution engine can be restarted with the following procedures:
./stop.sh (.bat) -p <PASSWORD> -s executionXX
./start.sh (.bat) -p <PASSWORD> -s executionXX
If the above steps fail or take an extended amount of time, follow the procedures below to forcibly kill and restart the engine:
kill -9 <PID>
This article applies to Appian 18.3 and later.
Last Reviewed: December 2019
© 2020 Appian. All rights reserved.