Slow Initial Rebuild Time Caused By The ExcludeCoveoDataSourceItems Processor
Slow Initial Rebuild Time Caused By The ExcludeCoveoDataSourceItems Processor
Symptoms
Coveo for Sitecore 4.1 (May 2018)
This issue was introduced in the initial release of Coveo for Sitecore 4.1.
When triggering a rebuild operation, the rebuild takes a long time to process the crawled items.
When a profiling pipeline using the Sitecore Pipelines Profiling page, the ExcludeCoveoDataSourceItems
takes an unusual amount of CPU Wall Time.
Cause
The issue is caused by a mishandled cache key, which causes the processor to never hit the cache.
Resolution
The May 2018 version of Coveo for Sitecore 4.1 contains a fix for this issue.
When using an earlier version, you can disable the processor.
Disabling the processor
In the Coveo
configuration folder, create a new file named Coveo.SearchProvider.DisableExcludeCoveoDataSource.config
.
In this file, copy the following code:
Coveo.SearchProvider.DisableExcludeCoveoDataSource.config
<!--
This file disables a problematic processor introduced in 4.1.
-->
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<pipelines>
<coveoInboundFilterPipeline>
<processor type="Coveo.SearchProvider.InboundFilters.ExcludeCoveoDataSourceItemsInboundFilter, Coveo.SearchProviderBase">
<!-- WARNING: Disabling this processor will index Data Sources used by the Coveo for Sitecore Hive framework. -->
<patch:delete />
</processor>
</coveoInboundFilterPipeline>
</pipelines>
</sitecore>
</configuration>
Possible Side Effects
If you’re not using the Coveo for Sitecore Hive Framework, you can safely disable this processor without any issues.
If you’re using the Hive Framework and disable the processor, Data Source items might end up in your index and might end up in your search page.