Coveo errors after Sitecore 7.2 upgrade

We upgraded our Sitecore from 7.0 -> 7.2 last night, and in tandem also upgraded our Coveo Enterprise Search to 7.0 x64 8541, Coveo Search API to v8.0.1127 and Coveo for Sitecore (not sure which version we upgraded to for that). We've gotten to the point where the diagnostics page is not showing any errors; however, we are seeing two different issues.

Our production environment is throwing errors on our search page such as: System.ArgumentNullException: Precondition failed: The parameter 'FieldMap' must not be null

We've been scouring our configs and the logs for any helpful info but so far nothing we've done has had any effect. Navigating to instance/coveo/rest returns JSON output. Is there anything else we can check?

2 Replies

We did end up entering a Coveo support ticket that same day. Below are some snippets of the discussion that might help other Coveo developers in the future:

STAGING: I was able to identify that as a cookie injected via adobe tag management by another marketing agency caused the 500 Internal Server Errors, and I've requested that they fix it as soon as possible. I did verify that search works on that site when that cookie is not present.

PRODUCTION: I resolved the Coveo connection issues on production for both content delivery servers (CD)s. It hadn't occurred to me that I would need to initialize the security provider of the CDs. Usually we have the CMS locked down on the CDs so they are inaccessible. After reviewing the diagnostics page on the CDs (Edit:) and after some web meetings with Coveo support, we found that we were missing this line in our Coveo.SearchProvider config, in the
section:

Additionally, not all items were showing up in Sitecore search after resolving these two issues. So we had to update the security cache and rebuild the pub index one or two times until things started appearing in search.

Your first error message makes me believe you missed one or more steps in the upgrade documentation when you performed your upgrade.

When you upgraded, did you:

Kept your old Coveo for Sitecore configuration files and "upgraded" them manually to match the ones deployed by the new package,

Or you started fresh with the new configuration files and merged your customizations in it?

The difference is important. Method #2 is less error prone when you skip many monthly versions when upgrading. Configuration files change from time to time as we implement new features and fix bugs. It's important to ensure your configuration files nodes are at the right location and use the right types and method names in their attributes.

I encourage you to compare with a merge tool, your actual Coveo configuration files with fresh ones from the release you just installed. You will likely see many differences in the nodes locations and their types.

I see you are using a custom layout and a custom model for your search page (`Coveo.Company.Models.ResultPageModel, Coveo.Company`). Have you recompiled your solution against the Coveo for Sitecore 7.2 assemblies after the upgrade? You may use some of our APIs that have changed between your old 7.0 build and the new 7.2 build.

If that doesn't help, I recommend you to open a support ticket as I've never saw this exception before. They will at least need your Coveo configuration files, your ShowConfig.aspx, the exact build versions of your previous and actual Coveo for Sitecore releases, and your log files.

Your answer

Hint: You can notify a user about this post by typing @username

Attachments:
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.