openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon So (JIRA)" <>
Subject [jira] Commented: (OPENJPA-1648) Slice thread pool breaks down under high concurrency
Date Tue, 04 May 2010 21:45:04 GMT


Simon So commented on OPENJPA-1648:

Hi Pinaki

I try and finally{} the block with threadPool.shutdown(). 

That seems to work.  100k transaction no problem now.

You nail it right on with the excessive pool creation in every flush().

I am not sure CachedThreadPool would have solved the problem.  You still have more flush()
call coming along the way -- then we need to define RejectExecutionHandler.  We can't abort
and we can't discard.

Since the pool is gonna go out of scope by the time flush() is done, we probably need to shut
it down before going out of scope (so that expired thread no longer hang around).

I will keep on stressing the stack and see if there are more problems.


> Slice thread pool breaks down under high concurrency 
> -----------------------------------------------------
>                 Key: OPENJPA-1648
>                 URL:
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: slice
>            Reporter: Pinaki Poddar
>             Fix For: 2.1.0
> Slice thread pool breaks down under heavy usage [1].
> This is due to poor choice of thread pool.
> Also creation of thread pool for every flush() is inefficient.
> Simple solution will be to use a cached thread pool -- which will be upper bounded by
available system's capacity for concurrent native threads. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message