The purpose of this article is to provide answers to some of the common questions related to the Java Queue in Appian.
Table of Contents:
What is the Java Work Queue?
The Java Work Queue is a list of work items that are queued up by the Appian Engines to be processed by the application server. Once the application server processes the work item, it sends the result back to the Appian Engines.
When can the Java Work Queue become a problem?
A problem can occur if the work items accumulate faster than they are processed. When this happens, an error appears in the application server log:
Could not obtain 3 thread(s) after X attempts in work poller
See KB-1159 for more information on this error.
What problems can happen when the Java Work Queue size becomes too large?
In general users will see poor performance across the platform, particularly with functionality related to process instances.
What are common root causes for Java Queue-related problems?
Since Java Queue work items are processed by the application server, a build up of the queue is usually the result of failing integrations, slow queries, high load, and other bottlenecks that lock up application server threads.
Is there any way to monitor the Java Work Queue size?
Cloud: Appian Technical Support already monitors this metric and proactively opens cases when the Java Work Queue becomes an issue.
Self-managed: View the size of the Java Work Queue in the perf_monitor_db_* logs, especially the PX (process execution) logs since the execution engines handle the largest volumes of transactions for most process-intensive applications. Check the Work Queue - Finished and Work Queue - Java Work Queue Size to see the ratio of completed work to queued work.
This article applies to all versions of Appian.
Last Reviewed: March 2020