Discussions

Ask a Question
Back to All

Lucene.net issue prevents adding or editing content

Hello,

We're using DNN Evoq Engage 9.2.0 with OpenContent 3.5.4, hosted on an Azure App Service.

It's been fine for months. Suddeny today we're unable to to add or edit content on any of our OpenContent modules. Pressing Save brings up an alert box: Uh-oh, something broke: Internal Server Error.

The admin logs show:

Referer: https://[my website]/My-Services/ctl/EditQuery/mid/406?popUp=true

InnerMessage:An unexpected network error occurred.

InnerStackTrace:

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.ReadCore(Byte[] buffer, Int32 offset, Int32 count) at System.IO.FileStream.Read(Byte[] array, Int32 offset, Int32 count) at System.IO.BinaryReader.Read(Byte[] buffer, Int32 index, Int32 count) at Lucene.Net.Store.SimpleFSDirectory.SimpleFSIndexInput.ReadInternal(Byte[] b, Int32 offset, Int32 len) at Lucene.Net.Store.BufferedIndexInput.ReadBytes(Byte[] b, Int32 offset, Int32 len, Boolean useBuffer) at Lucene.Net.Index.SegmentReader.Norm.Bytes() at Lucene.Net.Index.SegmentReader.GetNorms(String field) at Lucene.Net.Index.SegmentReader.Norms(String field) at Lucene.Net.Search.TermQuery.TermWeight.Scorer(IndexReader reader, Boolean scoreDocsInOrder, Boolean topScorer) at Lucene.Net.Search.BooleanQuery.BooleanWeight.Scorer(IndexReader reader, Boolean scoreDocsInOrder, Boolean topScorer) at Lucene.Net.Search.QueryWrapperFilter.AnonymousClassDocIdSet.Iterator() at Lucene.Net.Search.IndexSearcher.SearchWithFilter(IndexReader reader, Weight weight, Filter filter, Collector collector) at Lucene.Net.Search.IndexSearcher.Search(Weight weight, Filter filter, Collector collector) at Lucene.Net.Search.IndexSearcher.Search(Weight weight, Filter filter, Int32 nDocs, Sort sort, Boolean fillFields) at Lucene.Net.Search.IndexSearcher.Search(Weight weight, Filter filter, Int32 nDocs, Sort sort) at Lucene.Net.Search.Searcher.Search(Query query, Filter filter, Int32 n, Sort sort) at Lucene.Net.Search.JsonSearchUtils.Search(Searcher searcher, String type, Query query, Query filter, Int32 numResults, Sort sort) at Satrabel.OpenContent.Components.Lucene.LuceneController.Search(String type, Query filter, Query query, Sort sort, Int32 pageSize, Int32 pageIndex) at Satrabel.OpenContent.Components.Datasource.OpenContentDataSource.GetAll(DataSourceContext context, Select selectQuery) at Satrabel.OpenContent.Components.Render.RenderEngine.GetDataList(RenderInfo info, OpenContentSettings settings, Boolean clientSide) at Satrabel.OpenContent.Components.Render.RenderEngine.Render(Page page) at Satrabel.OpenContent.View.OnLoad(EventArgs e)

When I open Filter Settings, and click Reindex Module, the page reloads with a "Critical Error Occurred" box and there is another Lucene error in the Admin Logs. This suggests the Lucene index files are locked or broken.

Looking in the log file on the App Service, I can see D:\home\site\wwwroot\App_Data\Search\write.lock is in use. I know that's part of DNN search, not OpenContent. But is also uses Lucene, so is it likely to be a related issue? https://github.com/dnnsoftware/Dnn.Platform/issues/2231 points to a similar issue in DNN itself.

We're trying a restart of the App Service to see if it fixes the issue. Is this something you have run into before?