DNN Version 7.2.1
I keep getting the error:
"Unable to create Lucene writer (lock file is in use). Please recycle AppPool in IIS to release lock."
(Full message at end)
This seems to be related to the Search Crawler starting. The message is logged six times in about a second (once for each Portal? - I have 6, that can't be coincidence, although the Event Message is not associated with a particular portal.)
Once this happens the portal response time of all my portals becomes dire (>30seconds to get a page) until I manually recycle the AppPool. I suspect my sites are also not properly indexed.
All is then well (although the message continues to be logged) for several hours (the scheduler is set to trigger the Search:Crawler once per hour) but then for some unknown reason, the problem reoccurs and I start getting reports of non-responsiveness from the website.
The only reports of this issue I can find here talk about either web farms (I have a single Azure VM) or slow machines. I don't believe my Azure VM is slow and most of the time is trickling along at sub 10% CPU and memory usage of 70%..
I am going to try turning of the trigger for search and running it manually, followed by an AppPool recycle - but this isn't really a satisfactory solution.
Any help would be gratefully received as my sites are due to go live next week.
Thanks in Advance Nick
------------------------
DotNetNuke.Services.Exceptions.SearchException: Unable to create Lucene writer (lock file is in use). Please recycle AppPool in IIS to release lock. ---> System.IO.IOException: The process cannot access the file 'C:\inetpub\wwwroot\DNN_EGB\App_Data\Search\write.lock' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at DotNetNuke.Services.Search.Internals.LuceneControllerImpl.get_Writer()
--- End of inner exception stack trace ---
at DotNetNuke.Services.Search.Internals.LuceneControllerImpl.get_Writer()
at DotNetNuke.Services.Search.Internals.LuceneControllerImpl.Delete(Query query)
at DotNetNuke.Services.Search.Internals.InternalSearchControllerImpl.DeleteSearchDocumentsByModule(Int32 portalId, Int32 moduleId, Int32 moduleDefId)
at DotNetNuke.Services.Search.SearchDataStore.StoreSearchItems(SearchItemInfoCollection searchItems)
at DotNetNuke.Services.Search.SearchEngine.IndexContent(DateTime startDate)
at DotNetNuke.Services.Search.SearchEngineScheduler.DoWork()