Umbraco no responding after application pool recycle.
We're running a single Umbraco site on a dedicated server. It's been running perfectly well but when the application pool recycled at 16:00 on Friday the site didn't come back up until IIS was reset. The application pool recycle was the 29 hour interval recycle set in the application pool advanced settings.
I scheduled the pool to recycle in the early hours of this morning and again Umbraco failed. IIS was running, the application pool was started but requests to the Umbraco site timed out.
Windows Server 2012 R2 - fully patched.
Umbraco 7.5.3
On Friday the trace logs showed:
Date Fri, 19 May 2017, 16:48:31
Level ERROR
Logger Umbraco.ModelsBuilder.Umbraco.PureLiveModelFactory
Process 7144
Thread 11
App Domain 2
Message
Failed to build models.
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Monitor.Enter(Object obj)
Date Fri, 19 May 2017, 16:48:31
Level WARN
Logger Umbraco.ModelsBuilder.Umbraco.PureLiveModelFactory
Process 7144
Thread 11
App Domain 2
Message
Running without models.
Date Fri, 19 May 2017, 16:48:31
Level ERROR
Logger Umbraco.Core.UmbracoApplicationBase
Process 7144
Thread 8
App Domain 2
Message
An unhandled exception occurred
System.Web.HttpParseException (0x80004005): Key cannot be null.
Parameter name: key ---> System.ArgumentNullException: Key cannot be null.
Parameter name: key
at System.Collections.Specialized.ListDictionary.set_Item(Object key, Object value)
The failure this morning showed the same errors plus the following:
Date Tue, 23 May 2017, 03:00:26
Level ERROR
Logger UmbracoExamine.DataServices.UmbracoLogService
Process 4260
Thread 16
App Domain 2
Message
Provider=ExternalIndexer, NodeId=-1
System.Exception: Cannot index queue items, the index is currently locked,, IndexSet: ExternalIndexSet
Any help would be greatly appreciated as I'm puzzled why this has suddenly started happening.
Thanks for the suggestion. Just tried that and with the application pool stopped I couldn't delete all of the index files, one remained locked until I forced an IIS stop so it looks like something is holding a lock on the file.
With the index files deleted and IIS started again everything seems fine, although I guess I won't know for sure until the next scheduled application pool recycle.
Everything is working normally now and the application pool recycles correctly.
The lock on the Examine index definitely wasn't helping but I was also finding excessive start-up times which resulted in the old app pool process being held in memory longer than it needed to be. The site uses a small number of doctypes but they're all quite large and complex so I've changed the ModelsBuilder to Dll instead of PureLive which is greatly improved the situation.
Since clearing the index lock and changing the ModelsBuilder setting everything has been fine.
I have same issue. I delete my ExamineIndexes and issue fixed but it was a short time fix and the error come back again after a while.
my web config ModelsBuilder setting is on Dll mode too. how can i resolve this issue?
this is Exception which i am getting from Umbraco
"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."
Umbraco no responding after application pool recycle.
We're running a single Umbraco site on a dedicated server. It's been running perfectly well but when the application pool recycled at 16:00 on Friday the site didn't come back up until IIS was reset. The application pool recycle was the 29 hour interval recycle set in the application pool advanced settings.
I scheduled the pool to recycle in the early hours of this morning and again Umbraco failed. IIS was running, the application pool was started but requests to the Umbraco site timed out.
Windows Server 2012 R2 - fully patched. Umbraco 7.5.3
On Friday the trace logs showed: Date Fri, 19 May 2017, 16:48:31 Level ERROR Logger Umbraco.ModelsBuilder.Umbraco.PureLiveModelFactory Process 7144 Thread 11 App Domain 2 Message Failed to build models. System.Threading.ThreadAbortException: Thread was being aborted. at System.Threading.Monitor.Enter(Object obj)
Date Fri, 19 May 2017, 16:48:31 Level WARN Logger Umbraco.ModelsBuilder.Umbraco.PureLiveModelFactory Process 7144 Thread 11 App Domain 2 Message Running without models.
Date Fri, 19 May 2017, 16:48:31 Level ERROR Logger Umbraco.Core.UmbracoApplicationBase Process 7144 Thread 8 App Domain 2 Message An unhandled exception occurred System.Web.HttpParseException (0x80004005): Key cannot be null. Parameter name: key ---> System.ArgumentNullException: Key cannot be null. Parameter name: key at System.Collections.Specialized.ListDictionary.set_Item(Object key, Object value)
The failure this morning showed the same errors plus the following: Date Tue, 23 May 2017, 03:00:26 Level ERROR Logger UmbracoExamine.DataServices.UmbracoLogService Process 4260 Thread 16 App Domain 2 Message Provider=ExternalIndexer, NodeId=-1 System.Exception: Cannot index queue items, the index is currently locked,, IndexSet: ExternalIndexSet
Any help would be greatly appreciated as I'm puzzled why this has suddenly started happening.
Hi Simon,
Sounds like an issue with your ExamineIndexes.
Can you try something...
Stop the AppPool and delete your ExamineIndexes folder:
And try again.
Regards
Craig
Hi Craig
Thanks for the suggestion. Just tried that and with the application pool stopped I couldn't delete all of the index files, one remained locked until I forced an IIS stop so it looks like something is holding a lock on the file.
With the index files deleted and IIS started again everything seems fine, although I guess I won't know for sure until the next scheduled application pool recycle.
Thanks
Hi Simon,
Something will be holding onto one of the index files, hence why it is locked.
I have experienced a similar issue in the past and after deleting and regenerating all index files everything seemed fine.
Hopefully, it will be fine!
Maybe the site was indexing when the AppPool recycled, causing a lock on the file.
Keep us posted.
Regards
Craig
Hi Craig
Everything is working normally now and the application pool recycles correctly.
The lock on the Examine index definitely wasn't helping but I was also finding excessive start-up times which resulted in the old app pool process being held in memory longer than it needed to be. The site uses a small number of doctypes but they're all quite large and complex so I've changed the ModelsBuilder to Dll instead of PureLive which is greatly improved the situation.
Since clearing the index lock and changing the ModelsBuilder setting everything has been fine.
Thanks
I have same issue. I delete my ExamineIndexes and issue fixed but it was a short time fix and the error come back again after a while.
my web config ModelsBuilder setting is on Dll mode too. how can i resolve this issue?
this is Exception which i am getting from Umbraco
"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."
is working on a reply...