Connection pool issue
We have two sites on Sitefinity: Site A, which has a Domain Alias, and Site B. We have had very little problems with Site A, but Site B has intermittently become unavailable several times this last week. We recently migrated servers and are assuming that we missed a step in the set up.
The confusing thing is that sometimes Site B is up and works just fine, while other times it doesn't. When the site is down, the only way we have been able to fix it is by recycling the App Pools in IIS or by restarting the entire server. We were trying to research the problem online and came up with this link:
www.telerik.com/.../pool-settings.html
However, we can't find where the pool settings are in Sitefinity (if there are any).
Is there something in the App Pool of IIS that we need to make sure is set? We recently set the idle time-out on the App Pools to 0 in case that was affecting the site, but it doesn't seem to have made a difference.
Here is the error and stack trace that we receive when navigating to Site B:
Server Error in '/' Application.
Connection pool has been closed
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Telerik.OpenAccess.OpenAccessException: Connection pool has been closed
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[OpenAccessException: Connection pool has been closed]
Telerik.OpenAccess.RT.ExceptionWrapper.Throw() +13
OpenAccessRuntime.Relational.conn.RelationalConnectionPool.getConnection(Boolean highPriority, Boolean autoCommit, Int32 smId) +222
OpenAccessRuntime.Relational.RelationalStorageManager.obtainConnection(Boolean forWriting) +165
[OpenAccessException: Telerik.OpenAccess.OpenAccessException: Connection pool has been closed
at Telerik.OpenAccess.RT.ExceptionWrapper.Throw()
at OpenAccessRuntime.Relational.conn.RelationalConnectionPool.getConnection(Boolean highPriority, Boolean autoCommit, Int32 smId)
at OpenAccessRuntime.Relational.RelationalStorageManager.obtainConnection(Boolean forWriting)]
Telerik.OpenAccess.RT.ExceptionWrapper.Throw() +13
OpenAccessRuntime.storagemanager.logging.LoggingStorageManager.fetchNextQueryResult(ApplicationContext context, RunningQuery runningQuery, Int32 skipAmount) +692
OpenAccessRuntime.DataObjects.ForwardQueryResult.Initialize(Int32 indexParam) +273
OpenAccessRuntime.DataObjects.ForwardQueryResult.get_Item(Int32 indexParam) +92
Telerik.OpenAccess.RT.ListEnumerator.setCurrent(Int32 _pos) +58
Telerik.OpenAccess.RT.ListEnumerator.Move(Int32 relative) +97
Telerik.Sitefinity.Data.Linq.OpenAccess.OpenAccessQueryProvider`2.GetSingle(IEnumerator enumerator, Boolean orDefault) +32
Telerik.Sitefinity.Data.Linq.OpenAccess.OpenAccessQueryProvider`2.System.Linq.IQueryProvider.Execute(Expression expression) +17
System.Linq.Queryable.SingleOrDefault(IQueryable`1 source) +330
Telerik.Sitefinity.Modules.DefinitionsHelper.CreateTaxonomyLink(Guid id, String commandName, String commandArgument, WidgetBarSectionElement sidebar) +408
Telerik.Sitefinity.Modules.Events.EventsDefinitions.DefineEventsBackendListView(ContentViewControlDefinitionFacade fluentContentView) +6184
Telerik.Sitefinity.Configuration.<>c__DisplayClass1.<AddLazyInternal>b__0() +24
System.Lazy`1.CreateValue() +455
System.Lazy`1.get_Value() +14443978
Telerik.Sitefinity.Configuration.ConfigElementLazyItem`1.get_Element() +100
Telerik.Sitefinity.Configuration.ConfigElementDictionary`2.TryGetValueInternal(TKey key, TElement& element) +69
Telerik.Sitefinity.Configuration.ConfigElementDictionary`2.GetElementByKey(String key) +120
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadCollectionElement(ConfigElementCollection collection, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo) +940
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo, Boolean isNew, Boolean validateTagName) +323
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadPropertyElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo) +577
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo, Boolean isNew, Boolean validateTagName) +355
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadCollectionElement(ConfigElementCollection collection, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo) +1143
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo, Boolean isNew, Boolean validateTagName) +323
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadPropertyElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo) +577
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo, Boolean isNew, Boolean validateTagName) +355
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSectionFromReader(ConfigSection section, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, Boolean checkForUpgrade, UpgradingInfo& upgradingInfo) +468
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSectionFromFile(ConfigSection section, ConfigPolicyHandler policyHandler, String policyName, Boolean withUpgrade) +138
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSection(ConfigSection section, ConfigPolicyHandler policyHandler, String policyName) +82
Telerik.Sitefinity.Configuration.ConfigSection.Initialize(ConfigProvider provider, ConfigPolicyHandler policyHandler, String policyName, Boolean singlePolicy) +215
Telerik.Sitefinity.Configuration.ConfigSection.Initialize(ConfigProvider provider) +30
Telerik.Sitefinity.Configuration.Config.Get(Boolean safeMode) +269
Telerik.Sitefinity.Modules.Events.EventsManager.get_ProvidersSettings() +18
Telerik.Sitefinity.Data.ManagerBase`1.GetProvidersSettings() +14
Telerik.Sitefinity.Data.ManagerBase`1.Initialize() +803
Telerik.Sitefinity.Data.ManagerBase`1..ctor(String providerName, String transactionName) +34
SitefinityWebApp.Custom.Widgets.HomeEvents.Page_Load(Object sender, EventArgs e) +62
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Control.LoadRecursive() +190
System.Web.UI.Control.LoadRecursive() +190
System.Web.UI.Control.LoadRecursive() +190
System.Web.UI.Control.LoadRecursive() +190
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18045
Hello Matt,
I have answered you in the support ticket, which you have opened. You can share the solution with our community if you were able to fix the problem.
Regards,
Kaloyan
Telerik
We recently started experiencing this issue with one of our sites over the last few weeks. Resetting the application pool fixes the issue temporarily, but doesn't solve the problem. I am curious if the solution that Kaloyan provided resolved the issue in this case. Any information that you could provide would be appreciated. Thanks!
Hi Dustin,
Kaloyan recommended checking the environment settings and comparing them with the set up as described in the following links:
www.sitefinity.com/.../configuring-the-iis-to-host-sitefinity-projects
www.sitefinity.com/.../running-a-project-on-iis-7-0-or-iis-7-5
He also recommended trying to reproduce the problem locally, and if it could not be reproduced locally then it was a problem with my environment set up.
I used those links provided to set up my production environment, so I believe all of my settings are correct. I cannot reproduce the problem locally. The issue did not happen for three weeks in December but is now happening almost every other day. No server or site settings have changed in that time.
I am in the process of updating from Sitefinity 4.4 to 6.3 to see if the old version might be causing the issue.
Hope this helps a bit. I'll keep you posted if we wind up finding a solution. Let me know if you find any solutions!
Hi Ann,
Thank you for your quick response. I will check out those links and investigate our setup further. Your situation sounds very similar to ours. Our environment had been very stable for nearly a year until a few weeks ago. We hadn't deployed code for a number of months or changed any settings on the server. I have been unable to reproduce this behavior in my local environment, so it's been difficult to troubleshoot.
We are also in the process of upgrading Sitefinity (4.3 to 6.3), so hopefully this will help resolve the issue.
I'll post another response if I find a solution. Thanks again!
Dustin,
Best of luck with your upgrade. In case this helps, I ran into some issues getting to 5.2:
www.sitefinity.com/.../journey-agony-from-4-1-to-6-0-