|
Home > Archive > BizTalk Server General > November 2005 > There were not enough free threads
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
There were not enough free threads
|
|
| Dameon 2005-11-23, 5:51 pm |
| Error: "There were not enough free threads in the ThreadPool object to
complete the operation"
Hi All,
I get this error when using a SOAP adapter to to send messages. The other
scenario I get this error in is an orch that calls a C# method which in turns
makes a WebService web method call (I assume the same thing as an HTTP
Request Response and managed by IIS - please correct me if I'm wrong) . The
latter scenario is made via the C# method because BizTalk had an issue with
calling / referencing a non-strongly typed web service(still looking into
this one . . .).
So, does anyone have an suggestions on how to deal with this? I have seen
many examples of working with ThreadPools and Stephen Toub's Priority Thread
Pool class as well. I also realize Microsoft realizes there is a bug in IIS
6.0 where it drops threads accessing a pool if that pool has reached it's
maxed defined threads (it should queue them but it doesn't).
My questions:
1. In implementing a ThreadPool helper or routine - how would that conflict
with what BizTalk is already doing with any code called within an
orchestration's process? Each orch itself is worker thread in the BizTalk
process space.
2. When dealing with this issue from an orchestration point of view (ie. the
http web request or web service call being managed by orchestrations) - is it
better to take another approach for high volume situations? For instance, if
I have 100 parallel orchs running on a single CPU server, IIS will drop the
web service call requests after the 25th or so thread. So, in a sense, 75 of
the orchs would throw an exception ("There were not enough free threads . .
..") and 25 would succeed.
3. I know the easiest way out is to just catch the exception and retry the
message. However, I could see this as creating a pile up of messages and not
really a solution to the problem.
Links:
http://support.microsoft.com/defaul...kb;en-us;815637
http://dotnetjunkies.com/WebLog/jcm...02/14/7236.aspx
http://www.gotdotnet.com/Community/...95-8bae1825c3b6
Thanks - just need some guidance\help on best approach for dealing with this
issue.
--
Dameon
| |
| Scott Colestock 2005-11-23, 5:51 pm |
| Have a look at this blog entry and see if tuning the settings mentioned will
address your issue:
http://www.traceofthought.net/Perma...3aa3c84022.aspx
Scott Colestock
www.traceofthought.net
"Dameon" <Dameon@discussions.microsoft.com> wrote in message
news:55BF3E7E-31B6-450B-9D75-4B2E7A367FBB@microsoft.com...
> Error: "There were not enough free threads in the ThreadPool object to
> complete the operation"
>
> Hi All,
>
> I get this error when using a SOAP adapter to to send messages. The other
> scenario I get this error in is an orch that calls a C# method which in
> turns
> makes a WebService web method call (I assume the same thing as an HTTP
> Request Response and managed by IIS - please correct me if I'm wrong) .
> The
> latter scenario is made via the C# method because BizTalk had an issue
> with
> calling / referencing a non-strongly typed web service(still looking into
> this one . . .).
>
> So, does anyone have an suggestions on how to deal with this? I have seen
> many examples of working with ThreadPools and Stephen Toub's Priority
> Thread
> Pool class as well. I also realize Microsoft realizes there is a bug in
> IIS
> 6.0 where it drops threads accessing a pool if that pool has reached it's
> maxed defined threads (it should queue them but it doesn't).
>
> My questions:
>
> 1. In implementing a ThreadPool helper or routine - how would that
> conflict
> with what BizTalk is already doing with any code called within an
> orchestration's process? Each orch itself is worker thread in the BizTalk
> process space.
>
> 2. When dealing with this issue from an orchestration point of view (ie.
> the
> http web request or web service call being managed by orchestrations) - is
> it
> better to take another approach for high volume situations? For instance,
> if
> I have 100 parallel orchs running on a single CPU server, IIS will drop
> the
> web service call requests after the 25th or so thread. So, in a sense, 75
> of
> the orchs would throw an exception ("There were not enough free threads .
> .
> .") and 25 would succeed.
>
> 3. I know the easiest way out is to just catch the exception and retry the
> message. However, I could see this as creating a pile up of messages and
> not
> really a solution to the problem.
>
> Links:
>
> http://support.microsoft.com/defaul...kb;en-us;815637
> http://dotnetjunkies.com/WebLog/jcm...02/14/7236.aspx
> http://www.gotdotnet.com/Community/...95-8bae1825c3b6
>
>
>
> Thanks - just need some guidance\help on best approach for dealing with
> this
> issue.
>
> --
> Dameon
|
|
|
|
|