Today I upgraded a site from 7.2.2 to 7.2.8 hosted on Azure and I'm not getting the following error when Umbraco tries to update the Examine indexes.
Provider=VenueIndexer, NodeId=-1
System.Exception: Error indexing queue items,Lucene.Net.Store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@D:\home\site\wwwroot\App_Data\TEMP\ExamineIndexes\Special\Index\write.lock: System.IO.IOException: The process cannot access the file 'D:\home\site\wwwroot\App_Data\TEMP\ExamineIndexes\Special\Index\write.lock' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at Lucene.Net.Store.NativeFSLock.Obtain() ---> System.IO.IOException: The process cannot access the file 'D:\home\site\wwwroot\App_Data\TEMP\ExamineIndexes\Special\Index\write.lock' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at Lucene.Net.Store.NativeFSLock.Obtain()
--- End of inner exception stack trace ---
at Lucene.Net.Store.Lock.Obtain(Int64 lockWaitTimeout)
at Lucene.Net.Index.IndexWriter.Init(Directory d, Analyzer a, Boolean create, Boolean closeDir, IndexDeletionPolicy deletionPolicy, Boolean autoCommit, Int32 maxFieldLength, IndexingChain indexingChain, IndexCommit commit)
at Lucene.Net.Index.IndexWriter.Init(Directory d, Analyzer a, Boolean closeDir, IndexDeletionPolicy deletionPolicy, Boolean autoCommit, Int32 maxFieldLength, IndexingChain indexingChain, IndexCommit commit)
at Lucene.Net.Index.IndexWriter..ctor(Directory d, Analyzer a, MaxFieldLength mfl)
at Examine.DataServices.RegisterEvents.SearchIndexerUpdateSpecials(Object sender, IndexingNodeDataEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at UmbracoExamine.UmbracoContentIndexer.OnGatheringNodeData(IndexingNodeDataEventArgs e)
at Examine.LuceneEngine.Providers.LuceneIndexer.GetDataToIndex(XElement node, String type)
at Examine.LuceneEngine.Providers.LuceneIndexer.ProcessIndexQueueItem(IndexOperation op, IndexWriter writer)
at Examine.LuceneEngine.Providers.LuceneIndexer.ProcessQueueItem(IndexOperation item, ICollection`1 indexedNodes, IndexWriter writer)
at Examine.LuceneEngine.Providers.LuceneIndexer.ForceProcessQueueItems(Boolean block), IndexSet: VenueIndexSet
I've disabled async (runAsync=false), and a few of the indexes update correctly, but this one doesn't. Any advice/help??
Firstly never set this: runAsync=false. I've actually removed the docs for this since it should only ever be used for testing purposes. It will not work in multi-threaded environments (i.e. a website)!
Since this is the only index exhibiting this behavior, id need to see your config. Do you have multiple writers or readers pointing to this directory?
In your logs, does it show that your web app is restarting an awful lot ?
It would also be strongly advised to upgrade to the latest Examine (which is not shipped with 7.2.8
LockObtainFailedException on Azure after upgrade
Today I upgraded a site from 7.2.2 to 7.2.8 hosted on Azure and I'm not getting the following error when Umbraco tries to update the Examine indexes.
I've disabled async (runAsync=false), and a few of the indexes update correctly, but this one doesn't. Any advice/help??
Cheers, Karl
Hi Karl,
Firstly never set this:
runAsync=false
. I've actually removed the docs for this since it should only ever be used for testing purposes. It will not work in multi-threaded environments (i.e. a website)!Since this is the only index exhibiting this behavior, id need to see your config. Do you have multiple writers or readers pointing to this directory?
In your logs, does it show that your web app is restarting an awful lot ?
It would also be strongly advised to upgrade to the latest Examine (which is not shipped with 7.2.8
Thanks Shannon - I've upgrade Examine via nuget and disabled the async and still get the lock error. I'll email u over the config now...
Cheers, Karl
is working on a reply...