【发布时间】:2014-09-24 05:43:00
【问题描述】:
我们正在使用具有 1 个 CMS 和 2 个 CD 配置的多服务器环境。 CMS 的 CORE 和 WEB 仅由 CD 2 共享,CD 1 作为其自己的 web 和核心共享。
问题是-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
作为下一步,我们采取了以下步骤,但问题仍然存在:
删除旧的核心索引并为 CMS 和 CD2 重建。
我的问题:
如果我们的 CMS 和 CD2 具有相同的核心,那么我们是否需要为这两个环境重建索引,因为根据我的信息,索引会保存在磁盘中。
其次,我们只面临 CD2 的缓存问题,这与索引更新有关吗?
第三,配置细节 Sitecore.ContentSearch.Lucene.Index.Core 存在于 CMS 和 CD2 中,这也是造成这些异常的原因,因为两个进程正在更新相同核心索引的索引。
最后,我们为 CD1 提供了一个单独的核心和 Web,并启用了复制,但我们仍然看到这些错误也在 CD1 中被捕获。我们在过去几个月看到了这种错误,最近错误频率有所增加,因为它占用了 CD2 中的大量物理内存并导致应用程序响应时间更长。
【问题讨论】: