Необработанное исключение в AppDomain - прочитать ошибку EOF за прошедшее время в индексации Lucene - PullRequest
0 голосов
/ 14 января 2020

У нас уже давно есть проблема с индексацией Lucene.

В основном довольно часто, когда мы пытаемся опубликовать sh контент, который индексирует, просто выдает такую ​​ошибку:

2020-01-13 22:22:38,068 [P36840/D2/TLucene Merge Thread #0] ERROR Umbraco.Core.UmbracoApplicationBase - Unhandled exception in AppDomain (terminating)
Lucene.Net.Index.MergePolicy+MergeException: Exception of type 'Lucene.Net.Index.MergePolicy+MergeException' was thrown. ---> System.IO.IOException: read past EOF
   at Lucene.Net.Index.IndexWriter.HandleMergeException(Exception t, OneMerge merge)
   at Lucene.Net.Index.IndexWriter.Merge(OneMerge merge)
   at Lucene.Net.Index.ConcurrentMergeScheduler.DoMerge(OneMerge merge)
   at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
   --- End of inner exception stack trace ---
   at Lucene.Net.Index.ConcurrentMergeScheduler.HandleMergeException(Exception exc)
   at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

В результате мы получаем Secure Connection Failed на сайте publi c, контент сохраняется, но не включается в кэш, поэтому он не отображается на сайте.

Тогда мы не можем чтобы получить доступ к панели управления Examine Management для перезапуска индексов.

Ошибка иногда бывает такой же:

 2019-12-30 14:49:14,895 [P18524/D2/T28] ERROR Umbraco.Core.UmbracoApplicationBase - Unhandled exception in AppDomain (terminating)
System.IO.IOException: Cannot overwrite: D:\Inetpub\vhosts\mysite.com\httpdocs\App_Data\TEMP\ExamineIndexes\Internal\Index\_pe.cfs
   at Lucene.Net.Store.FSDirectory.InitOutput(String name)
   at Lucene.Net.Store.SimpleFSDirectory.CreateOutput(String name)
   at Lucene.Net.Index.CompoundFileWriter.Close()
   at Lucene.Net.Index.DocumentsWriter.CreateCompoundFile(String segment)
   at Lucene.Net.Index.IndexWriter.DoFlushInternal(Boolean flushDocStores, Boolean flushDeletes)
   at Lucene.Net.Index.IndexWriter.DoFlush(Boolean flushDocStores, Boolean flushDeletes)
   at Lucene.Net.Index.IndexWriter.PrepareCommit(IDictionary`2 commitUserData, Boolean internal_Renamed)
   at Lucene.Net.Index.IndexWriter.Commit(IDictionary`2 commitUserData)
   at Examine.LuceneEngine.Providers.LuceneIndexer.IndexCommiter.TimerRelease() in C:\projects\examine-qvx04\src\Examine\LuceneEngine\Providers\LuceneIndexer.cs:line 1711
   at Examine.LuceneEngine.Providers.LuceneIndexer.IndexCommiter.<ScheduleCommit>b__7_0(Object _) in C:\projects\examine-qvx04\src\Examine\LuceneEngine\Providers\LuceneIndexer.cs:line 1663
   at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

В этом случае публикация контента становится практически неэффективной.

Любая идея в чем причина? И как это исправить? Я вижу, что индекс поврежден, но почему?

Я проверил несколько подобных проблем:

Ошибка индексации Umbraco при заполнении журналов

https://issues.apache.org/jira/browse/LUCENENET-527, но ни один из них не является нашим случаем - я не вижу никаких файлов сегмента 0 КБ.

РЕДАКТИРОВАТЬ

Ошибка вылетает полностью веб-сайт, вызывающий ошибку Secure Connection Failed, и это происходит при попытке сохранить контент (независимо от CMS или внешнего сайта).

...