Coveo for Sitecore 5 is now available!

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 are not using the Coveo for Sitecore Hive Framework, you can safely disable this processor without any issues.

If you are 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.