-
1. Can some one tell the meaning of the warning Reached maximum thread count "17" for worker pool "QueryProcessorQueue" with a queue size of "1".
rareddy Apr 11, 2011 11:16 AM (in response to rakeshsagar)Rakesh,
It means that based on the load on Teiid Server, it has used up all the allocated threads in the engine, if any additional load placed on the engine, the queries will be queued and subject to delays in processing. If you are trying to properly size your system for optimal load vs processing, you can not ignore these warnings.
Thanks
Ramesh.. -
2. Can some one tell the meaning of the warning Reached maximum thread count "17" for worker pool "QueryProcessorQueue" with a queue size of "1".
shawkins Apr 11, 2011 9:12 PM (in response to rareddy)Rakesh,
For more background, see also the doc section on threading: http://docs.jboss.org/teiid/7.3.0.Final/admin-guide/en-US/html_single/#d0e930
And this posting: http://community.jboss.org/thread/164299
In short you have explicitly configured the system to use only 17 processing threads while allowing 16 concurrent plans. If a typical plan issues concurrent qurries, then hitting your max plans of 16 (which will happen with 16 or more clients concurrently issuing querries) will queue processing work until a thread is available. Thus the warning when you hit a new high for the queue depth.
As Ramesh says, you probably want to adjust your setting so that this type of warning is rare. For example if you do want Teiid processing to only consume 17 threads, then more than likely you would want to reduce the maxActivePlans. It is better to not start processing a plan (buffers will be left available and there is less chance of resource contention) at all rather than relying on the maxThreads to queue work. On the otherhand if you do want to fully concurrently process all of your 16 maxActivePlans, then you probably should increase your maxThreads.
There is also the possibility that your plans do not issue source queries concurrently (for example issuing a query directly to a single source), in which case the warning can mostly be ignored. This is because the processing thread submits the source request to be executed in a separate thread prior to relinquishing itself back to the thread pool. This means that there is some small overlap in thread usage that is not reflective of actual contention for threads.
The docs have also been updated to reflect changes in 7.4 if you are using a beta.
Steve