<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log</link><pubDate>Tue, 05 Jan 2021 04:24:24 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Current Revision posted to Appian Knowledge Base by Parmida Borhani on 1/5/2021 4:24:24 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;div class="content-scrollable-wrapper content-scrollable-wrapper-scrolled"&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - x [&amp;lt;engine&amp;gt;] (originally: &amp;lt;thread name&amp;gt;)] ERROR com.appiancorp.process.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The application server allocates up to 30 work poller threads to receive and process work from the Appian engines.&amp;nbsp;&lt;/span&gt;&lt;span&gt;This issue occurs when all 30 work poller threads are in use, preventing the engines from sending new work to the application server.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Capture thread dumps while the behavior is ongoing:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Determine the process id of the application server process:
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;&lt;strong&gt;For JBoss:&lt;/strong&gt; ps -ef | grep standalone&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;&lt;strong&gt;For Tomcat:&lt;/strong&gt; ps -ef | grep bootstrap&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Capture multiple thread dumps using the instructions in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="KB-1177" href="/support/w/kb/394/kb-1177-how-to-generate-a-java-thread-dump" rel="noopener noreferrer" target="_blank"&gt;KB-1177&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server.&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Appian Work Item&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Unresponsive or slow external servers (database, mail server, or other integration)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Long running calls from custom plugins&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: January 2021&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: java, engines, application server, application design, processes, work poller&lt;/div&gt;
</description></item><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log/revision/6</link><pubDate>Tue, 05 Jan 2021 04:22:24 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Revision 6 posted to Appian Knowledge Base by Parmida Borhani on 1/5/2021 4:22:24 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;div class="content-scrollable-wrapper content-scrollable-wrapper-scrolled"&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - x [&amp;lt;engine&amp;gt;] (originally: &amp;lt;thread name&amp;gt;)] ERROR com.appiancorp.process.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The application server allocates up to 30 work poller threads to receive and process work from the Appian engines.&amp;nbsp;&lt;/span&gt;&lt;span&gt;This issue occurs when all 30 work poller threads are in use, preventing the engines from sending new work to the application server.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Capture thread dumps while the behavior is ongoing:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Determine the process id of the application server process:
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;&lt;strong&gt;For JBoss:&lt;/strong&gt; ps -ef | grep standalone&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;&lt;strong&gt;For Tomcat:&lt;/strong&gt; ps -ef | grep bootstrap&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Capture multiple thread dumps using the instructions in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="KB-1177" href="/support/w/kb/394/kb-1177-how-to-generate-a-java-thread-dump" rel="noopener noreferrer" target="_blank"&gt;KB-1177&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server.&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Appian Work Item&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Unresponsive or slow external servers (database, mail server, or other integration)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Long running calls from custom plugins&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: January 2021&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: engines, application server, application design, processes, work poller&lt;/div&gt;
</description></item><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log/revision/5</link><pubDate>Mon, 11 Nov 2019 03:58:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Revision 5 posted to Appian Knowledge Base by Parmida Borhani on 11/11/2019 3:58:37 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - 0 [Notifications] (originally: default-threads - 19)] ERROR com.appiancorp.ra.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The application server allocates up to 30 workpoller threads to receive and process work from the Appian engines.&amp;nbsp;&lt;/span&gt;&lt;span&gt;This issue occurs when all 30 workpoller threads are in use, preventing the engines from sending new work to the application server.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identify the top threads by CPU.
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Linux, run &lt;strong&gt;top&lt;/strong&gt;, press the &lt;strong&gt;c&lt;/strong&gt; key, then press &lt;strong&gt;Shift+H&lt;/strong&gt;. This will show the threads sorted by highest to lowest CPU usage. Take a screenshot of the output.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In Windows, use&amp;nbsp;&lt;a class="external-link" href="https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx" rel="nofollow noopener noreferrer" target="_blank"&gt;Process Explorer&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a class="external-link" href="https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx" rel="nofollow noopener noreferrer" target="_blank"&gt;Process Monitor&lt;/a&gt;&amp;nbsp;to show the threads for the Java process and take&amp;nbsp;a screenshot of the top threads by CPU.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Take multiple thread dumps during the time of the issue
&lt;ol&gt;
&lt;li&gt;Determine the process id of the application server process:
&lt;pre&gt;&lt;strong&gt;For JBoss:&lt;/strong&gt; ps -ef | grep standalone&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;For Tomcat:&lt;/strong&gt; ps -ef | grep bootstrap&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Take the thread dump:
&lt;pre&gt;jstack processid &amp;gt; /path/threaddump-YYYYMMDD-HHMM.txt&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Repeat Step 2 every minute for 5 minutes.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:inherit;"&gt;Unresponsive or slow external server (database, mail server, or other integration)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:inherit;"&gt;Custom plugin that contains a long running call&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;November 2019&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, application server, application design&lt;/div&gt;
</description></item><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log/revision/4</link><pubDate>Mon, 11 Nov 2019 03:57:34 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Revision 4 posted to Appian Knowledge Base by Parmida Borhani on 11/11/2019 3:57:34 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - 0 [Notifications] (originally: default-threads - 19)] ERROR com.appiancorp.ra.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The application server allocates up to 30 workpoller threads to receive and process work from the Appian engines.&amp;nbsp;&lt;/span&gt;&lt;span&gt;This issue occurs when all 30 workpoller threads are in use, preventing the engines from sending new work to the application server.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identify the top threads by CPU.
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Linux, run &lt;strong&gt;top&lt;/strong&gt;, press the &lt;strong&gt;c&lt;/strong&gt; key, then press &lt;strong&gt;Shift+H&lt;/strong&gt;. This will show the threads sorted by highest to lowest CPU usage. Take a screenshot of the output.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In Windows, use&amp;nbsp;&lt;a class="external-link" href="https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx" rel="nofollow noopener noreferrer" target="_blank"&gt;Process Explorer&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a class="external-link" href="https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx" rel="nofollow noopener noreferrer" target="_blank"&gt;Process Monitor&lt;/a&gt;&amp;nbsp;to show the threads for the Java process and take&amp;nbsp;a screenshot of the top threads by CPU.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Take multiple thread dumps during the time of the issue
&lt;ol&gt;
&lt;li&gt;Determine the process id of the application server process:
&lt;pre&gt;&lt;strong&gt;&lt;code&gt;For JBoss:&lt;/code&gt;&lt;/strong&gt; ps -ef | grep standalone&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;code&gt;For Tomcat:&lt;/code&gt;&lt;/strong&gt; ps -ef | grep bootstrap&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Take the thread dump:
&lt;pre&gt;jstack processid &amp;gt; /path/threaddump-YYYYMMDD-HHMM.txt&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Repeat Step 2 every minute for 5 minutes.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:inherit;"&gt;Unresponsive or slow external server (database, mail server, or other integration)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:inherit;"&gt;Custom plugin that contains a long running call&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;November 2019&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, application server, application design&lt;/div&gt;
</description></item><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log/revision/3</link><pubDate>Thu, 19 Apr 2018 22:45:25 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Revision 3 posted to Appian Knowledge Base by Parmida Borhani on 4/19/2018 10:45:25 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - 0 [Notifications] (originally: default-threads - 19)] ERROR com.appiancorp.ra.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;The Appian engines as a whole can obtain up to 30 threads at the same time from the application server to request it processes data on its behalf. Once the application server finishes the work, the response is sent back to the engines and the workpoller thread is released.&lt;/p&gt;
&lt;p&gt;This issue occurs when the environment maxes out on these 30 threads for the engines, which suggests that the engines were sending long running work items to the application server in parallel.&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following (the following steps are tailored for JBoss but the same principles apply to WebLogic):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identify the top threads by CPU.
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Linux, run &lt;strong&gt;top&lt;/strong&gt;, press the &lt;strong&gt;c&lt;/strong&gt; key, then press &lt;strong&gt;Shift+H&lt;/strong&gt;. This will show the threads sorted by highest to lowest CPU usage. Take a screenshot of the output.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In Windows, use&amp;nbsp;&lt;a class="external-link" href="https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx" target="_blank" rel="nofollow"&gt;Process Explorer&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a class="external-link" href="https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx" target="_blank" rel="nofollow"&gt;Process Monitor&lt;/a&gt;&amp;nbsp;to show the threads for the Java process and take&amp;nbsp;a screenshot of the top threads by CPU.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Take multiple thread dumps during the time of the issue
&lt;ol&gt;
&lt;li&gt;Determine the process id of the JBoss process:
&lt;pre&gt;ps -ef | grep standalone&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Take the thread dump:
&lt;pre&gt;jstack processid &amp;gt; /path/threaddump-YYYYMMDD-HHMM.txt&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Repeat Step 2 every minute for 5 minutes.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;Database server crash or restart&lt;/li&gt;
&lt;li&gt;Custom plugin that contains a long running call&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: February 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, application server, application design&lt;/div&gt;
</description></item><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log/revision/2</link><pubDate>Thu, 13 Apr 2017 13:28:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Revision 2 posted to Appian Knowledge Base by Nick Vigilante on 4/13/2017 1:28:14 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - 0 [Notifications] (originally: default-threads - 19)] ERROR com.appiancorp.ra.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;The Appian engines as a whole can obtain up to 30 threads at the same time from the application server to request it processes data on its behalf. Once the application server finishes the work, the response is sent back to the engines and the workpoller thread is released.&lt;/p&gt;
&lt;p&gt;This issue occurs when the environment maxes out on these 30 threads for the engines, which suggests that the engines were sending long running work items to the application server in parallel.&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following (the following steps are tailored for JBoss but the same principles apply to WebLogic):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Take multiple thread dumps during the time of the issue
&lt;ol&gt;
&lt;li&gt;Determine the process id of the JBoss process:
&lt;pre&gt;ps -ef | grep standalone&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Take the thread dump:
&lt;pre&gt;jstack processid &amp;gt; /path/threaddump-YYYYMMDD-HHMM.txt&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Repeat Step 2 every minute for 5 minutes.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;Database server crash or restart&lt;/li&gt;
&lt;li&gt;Custom plugin that contains a long running call&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: February 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, application server, application design&lt;/div&gt;
</description></item><item><title>KB-1159 "Could not obtain 3 thread(s) after X attempts in work poller" error printed in application server log</title><link>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log/revision/1</link><pubDate>Tue, 28 Feb 2017 19:56:39 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de739d15-632e-4200-bffe-cd726c389b3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/376/kb-1159-could-not-obtain-3-thread-s-after-x-attempts-in-work-poller-error-printed-in-application-server-log#comments</comments><description>Revision 1 posted to Appian Knowledge Base by Nick Vigilante on 2/28/2017 7:56:39 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;h2 id="symptoms"&gt;Symptoms&lt;/h2&gt;
&lt;p&gt;The following error is displayed in the application server log:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Appian WorkPoller - 0 [Notifications] (originally: default-threads - 19)] ERROR com.appiancorp.ra.workpoller.WorkPoller - Could not obtain 3 thread(s) after X attempts in work poller
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="cause"&gt;Cause&lt;/h2&gt;
&lt;p&gt;Each engine can get up to 30 threads at the same time from the application server to request it processes data on its behalf. Once the application server finishes the work, the response is sent back to the engines and the workpoller thread is released.&lt;/p&gt;
&lt;p&gt;This issue occurs when the environment maxes out on these 30 threads for the engines, which suggests that the engines were sending long running work items to the application server in parallel.&lt;/p&gt;
&lt;h2 id="action"&gt;Action&lt;/h2&gt;
&lt;p&gt;To resolve the issue, perform the following (the following steps are tailored for JBoss but the same principles apply to WebLogic):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Take multiple thread dumps during the time of the issue
&lt;ol&gt;
&lt;li&gt;Determine the process id of the JBoss process:
&lt;pre&gt;ps -ef | grep standalone&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Take the thread dump:
&lt;pre&gt;jstack processid &amp;gt; /path/threaddump-YYYYMMDD-HHMM.txt&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Repeat Step 2 every minute for 5 minutes.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Restart the application server&lt;/li&gt;
&lt;li&gt;Analyze the thread dumps to determine the cause of the long running threads.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The usual culprits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looping functions&lt;/li&gt;
&lt;li&gt;Database server crash or restart&lt;/li&gt;
&lt;li&gt;Custom plugin that contains a long running call&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: February 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, application server, application design&lt;/div&gt;
</description></item></channel></rss>