[jacorb-developer] jacorb.poa.thread_pool_max
Phil Mesnier
mesnierp at ociweb.com
Fri Jul 31 17:42:44 CEST 2015
Hi Subhash,
The short answer is to follow the recommendation in the warning and set jacorb.poa.thread_pool_max to some value greater than 20.
This situation is happening because your server is receiving more than 20 concurrent requests. Subsequent requests are queued until a thread is available. If your servant code is blocking, that will increase the likelihood of concurrent requests. If your servant makes CORBA calls to other objects in the same server, that can lead to deadlock if these internal calls are queued. An architectural review can help identify such cases and perhaps suggest alternative deployments to avoid nested invocations.
You mention transactions. Are you using the CORBA Transaction Service, or are you using that word to describe an ordinary request/reply interaction between client and server?
-Phil
> On Jul 31, 2015, at 5:01 AM, subhash <subbugupta25 at gmail.com> wrote:
>
> We are getting the "Thread pool exhausted, consider increasing
> jacorb.poa.thread_pool_max (currently: 20)" error message in our CORBA
> server. Server console and main page were up. But due to this continuous
> error message in the log file it is not allowing the transactions to
> process. After restarting the server it allows the transactions to process
> normally.
>
> Error message :
>
> WARNING Thread pool exhausted, consider increasing
> jacorb.poa.thread_pool_max (currently: 20)
> WARNING Thread pool exhausted, consider increasing
> jacorb.poa.thread_pool_max (currently: 20)
> WARNING Thread pool exhausted, consider increasing
> jacorb.poa.thread_pool_max (currently: 20)
>
> ******************************
> orb.properties
> ******************************
> # thread pool configuration for request processing
> jacorb.poa.thread_pool_max=20
> jacorb.poa.thread_pool_min=5
>
> # if set, request processing threads in thePOA
> # will run at this priority. If not set or invalid,
> # MAX_PRIORITY will be used.
> #jacorb.poa.thread_priority=
>
> # Properties controlling the POA's request queue. If queue_wait is off,
> # then if there are more than queue_max requests in the queue, the
> # client gets TRANSIENT exceptions for any requests. If queue_wait is on,
> # then the call blocks at the server side until no more than queue_min
> # requests are left in the queue. The new request is then delivered as usual.
> jacorb.poa.queue_wait=off
> jacorb.poa.queue_max=100
> jacorb.poa.queue_min=10
>
> _______________________________________________
> jacorb-developer maillist - jacorb-developer at lists.spline.inf.fu-berlin.de
> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer
--
Phil Mesnier
Principal Software Engineer and Partner, http://www.ociweb.com
Object Computing, Inc. +01.314.579.0066 x225
More information about the jacorb-developer
mailing list