[Mono-bugs] [Bug 474217] Creating a remoting connection takes very long when a large number of clients connect simultaneously

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Dec 14 07:22:51 EST 2010



--- Comment #9 from Lluis Sanchez <lluis at novell.com> 2010-12-14 12:22:49 UTC ---
When I implemented the Tcp channel I did not use the system thread pool because
I had bad experiences with it. For example, let's say you have a remote method
which directly or indirectly uses the thread pool. Let's also say you have a
limit of 50 thread pool threads, and then you make 50 concurrent calls to that
remote method, which are dispatched using the thread pool. This will result in
a deadlock of the whole application, since the 50 threads are waiting for one
more thread to be available, which will never happen. Maybe this is an extreme
case, but I remember hitting this issue in the old days when doing some stress
tests. I just built a test case that reproduces the deadlock by constraining
the number of available pool threads, so the issue is still there (I could
reproduce it with the http channel, which uses the threadpool, not with tcp).

I don't know how likely is to hit this issue nowadays in real world
applications. The thread pool limit is not higher, so maybe it is not so
likely. However I still feel uncomfortable about using the system thread pool
as a request processing pool, but if you guys think that there is no real
problem with it, I'm ok with doing the change. In any case, the PoolGrowDelay
issue is a bug that can be fixed.

Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list