Мы используем многосерверную среду с конфигурацией 1 CMS и 2 CD. CORE и WEB CMS используются только CD 2, а CD 1 - как его собственная сеть и ядро.
Проблема в том, что файлы журнала CD2 фиксируют указанную ниже ошибку:
ManagedPoolThread #14 00:00:05 INFO Job started:Index_Update_IndexName=sitecore_core_index
ManagedPoolThread #14 00:00:05 ERROR Exception
Exception: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Jobs.Job.ThreadEntry(Object state)
Nested Exception
Exception: System.InvalidOperationException
Message: Configuration
Source: Sitecore.ContentSearch.LuceneProvider
at Sitecore.ContentSearch.LuceneProvider.LuceneIndex.EnsureInitialized()
at Sitecore.ContentSearch.LuceneProvider.LuceneIndex.CreateUpdateContext()
at Sitecore.ContentSearch.LuceneProvider.LuceneIndex.PerformUpdate(IEnumerable`1 indexableUniqueIds, IndexingOptions indexingOptions)
В ходе нашего исследования мы обнаружили, что этот тип ошибки фиксируется при проблеме с обновлением индекса базы данных Core. Кроме того, это также было подтверждено сканированием журнала и проверкой конфигурации в \App_Config\Include\Sitecore.ContentSearch.Lucene.Index.Core, в котором это задание определено для обновления индекса.
Получение записей журнала сканирования
INFO [Index=sitecore_core_index] IntervalAsynchronousUpdateStrategy executing.
INFO [Index=sitecore_core_index] Event Queue is forced
В качестве следующего шага мы предприняли следующие шаги, но проблема все еще существует:
Удалены старые индексы Core и перестроены как для CMS, так и для CD2.
Мои вопросы:
Если у нас есть одно и то же ядро для CMS и CD2, то требуется ли перестроение индекса для обеих сред, потому что, согласно моей информации, индекс сохраняется на диске.
Во-вторых, мы столкнулись с проблемой кэширования только для CD2, связано ли это с обновлением индекса.
В-третьих, сведения о конфигурации Sitecore.ContentSearch.Lucene.Index.Core также присутствуют в CMS и CD2, поэтому это отвечает за это исключение, поскольку два процесса обновляют индексы для одних и тех же индексов Core.
Наконец, у нас есть отдельное ядро и сеть для CD1 с включенной репликацией, но мы по-прежнему видим, что эти ошибки фиксируются и на CD1. Мы наблюдаем эти ошибки за последние несколько месяцев, и в последнее время частота ошибок увеличилась, из-за чего они потребляют огромный кусок физической памяти на CD2 и вызывают более высокое время отклика приложения.