Connection Pool is Maxing out

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
CTartaglia
Posts: 6
Joined: Wed 14 Jan 2009 15:28

Connection Pool is Maxing out

Post by CTartaglia » Thu 26 Feb 2009 21:48

We are running into issues with the dotConnect for Oracle Session Store provider maxing out the connection pool limit and not releasing them. You can see the stack dump at the bottom of this post. This is even happening under relatively small loads. Once we recycle the app pools, everything clears up for awhile.

Our conn string looks like this right now and we are adjusting the Max Pool Size up:

To reproduce this issue, do the following:

1. Use your Oracle Session State Provider
2. Put about 1KB of data into session on ASP.NET page
3. Set connection limit low ... like 5
4. Use Google Chrome as your browser and hold down F5.


01eff17c 7c8285ec [GCFrame: 01eff17c]
01eff2b8 7c8285ec [HelperMethodFrame: 01eff2b8] System.Threading.Monitor.Enter(System.Object)
01eff30c 07746a0d Devart.Common.DbConnectionPool.GetObject()
01eff340 077468fe Devart.Common.DbConnectionFactory.a(Devart.Common.DbConnectionBase)
01eff370 077467dc Devart.Common.DbConnectionClosed.Open(Devart.Common.DbConnectionBase)
01eff3a0 07746737 Devart.Common.DbConnectionBase.Open()
01eff3ac 07745bc4 Devart.Data.Oracle.OracleConnection.Open()
01eff3e0 076e9bf1 Devart.Common.Web.Providers.DbSessionStateStore.SetAndReleaseItemExclusive(System.Web.HttpContext, System.String, System.Web.SessionState.SessionStateStoreData, System.Object, Boolean)
01eff498 076e2dea XXXXXXXXXXXXXXXXXXXXXXXXX`1[[System.__Canon, mscorlib]].SetAndReleaseItemExclusive(System.Web.HttpContext, System.String, System.Web.SessionState.SessionStateStoreData, System.Object, Boolean)
01eff504 660893b1 System.Web.SessionState.SessionStateModule.OnReleaseState(System.Object, System.EventArgs)
01eff53c 6608d005 System.Web.HttpApplication+SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
01eff554 6608132c System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)
01eff594 6608c5c3 System.Web.HttpApplication+ApplicationStepManager.ResumeSteps(System.Exception)
01eff5e4 660808ac System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object)
01eff600 66083e1c System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest)
01eff634 66083ac3 System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest)
01eff644 66082c5c System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32)
01eff858 79f68cde [ContextTransitionFrame: 01eff858]
01eff88c 79f68cde [GCFrame: 01eff88c]
01eff9e8 79f68cde [ComMethodFrame: 01eff9e8]

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Fri 27 Feb 2009 16:12

We have reproduced the problem. You will be notified about the results as soon as possible.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Mon 02 Mar 2009 15:39

The issue is fixed. I will post here when the appropriate build is available.

CTartaglia
Posts: 6
Joined: Wed 14 Jan 2009 15:28

Still having deadlock issues

Post by CTartaglia » Wed 18 Mar 2009 15:54

With the latest beta release we have confirmed that connections are now being closed properly but we are still seeing deadlocks. The steps mentioned below (in original post) are the ones we used to replicate the issue. We are concerned with DOS attacks since one user holding down F5 for a few minutes can cause deadlocks.

Thanks.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 19 Mar 2009 10:55

We are investigating the issue. Please confirm that you have reproduced this problem using the separate Devart.Data.Oracle.Web.dll assembly (instead of the one that was provided with the installation package of dotConnect for Oracle 5.20 Beta) that we have sent you by e-mail.

CTartaglia
Posts: 6
Joined: Wed 14 Jan 2009 15:28

Post by CTartaglia » Wed 01 Apr 2009 15:57

I already responded via e-mail, but just for other forum users' benefit, I have confirmed that we can reproduce the deadlocks with the non-Beta version of Devart.Data.Oracle.Web.dll assembly (the one sent to me).

Keep in mind that you might need to set your max pool size to something low in your connection string to see this behavior.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Mon 06 Apr 2009 07:04

CTartaglia, could you please confirm that the latest (5.0.26) build of dotConnect for Oracle is without the deadlocks problem? I cannot reproduce the mentioned issue with this build (my connection string contains the "Max Pool Size=5;" entry).

CTartaglia
Posts: 6
Joined: Wed 14 Jan 2009 15:28

Post by CTartaglia » Mon 06 Apr 2009 14:14

After some further testing, it appears that the deadlock issue we were seeing with previous releases has been addressed with 5.0.26. Thanks for your speed in addressing this issue.

Post Reply