all pooled connections were in use

  • Thread starter Thread starter dotNET Developer
  • Start date Start date
D

dotNET Developer

If this forum is the wrong place to discuss this issue please point me to
the right forum...

We have an ASP.NET application (InterNet app) originally written in .NET 1.0
running for about 2 years. Recently we installed .NET 1.1 and upgraded the
app to 1.1. During the deployment we also installed the latest MDAC update
that was available at that time (Unchecked Buffer in MDAC Function Could
Enable System Compromise (823718)
http://www.microsoft.com/technet/security/bulletin/MS03-033.asp). Few days
after the deployment of .NET 1.1 and the above windows update we started to
see the following error.

Timeout expired. The timeout period elapsed prior to obtaining a connection
from the pool. This may have occurred because all pooled connections were in
use and max pool size was reached.

After doing some investigation we found a workaround to specify the "Max
Pool Size" in the connection string. This seems to take care of the issue.
However I am not sure of the core issue behind this error. My questions are:

1. Is this a tightened security feature in .NET 1.1 to explicitly specify
the pool size OR some bug in the above windows update OR around the same
time we deployed 1.1 the number of users to our system increased? When I
looked at the MSFT site I see another MDAC update released (Buffer Overrun
in MDAC Function Could Allow Code Execution (832483)
http://www.microsoft.com/technet/security/Bulletin/MS04-003.asp). The web
page says this is a replacement for the above update.
2. If there is some code problem what could that be?
 
The most common cause to this is that you don't close your connections.
Could it be?
 
I've responded to this before. There are a litany of reasons for this problem so search the archives of this list for more details. Basically:

1.. You didn't close the connection before it fell from scope
2.. You took too long processing on the connection so when another ASP page was launched it could not use the connection--it was still busy.
3.. The operation was blocked for some reason and didn't get done in time. (see 2)

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
Bill - I'm not quite buying your explanation. Maybe I'm missing
something though.

I'm having the same problem as the original poster, in development
where I am the only on the box. More importantly I'm using the "Data
Access Application Block for .NET v2" for ALL of my data access. So
if it's an issue with not closing connections it would appear to be in
the application blocks that Microsoft has put out.

I never even see the connection object.

Any ideas?
Guy
 
Interesting. I didn't know this was an issue. However, this might not solve
your problem. Anything that prevents the application from closing the
connection whether it be simply not closing it when you have an opportunity
or by holding it too long due to processing too much data (given the user
load on the system) will cause the number of connections in the pool to
increase and eventually reach its max.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
Back
Top