3

We have a CM/CD setup where the CM works as intended, but the CD does not.

The problem is that after following Sitecores guides on how to configure a CD server, lucene indexing seems to be malfunctioning.

The very first error message we get in the Sitecore log is the following:

6732 01:37:49 ERROR Error loading hook: <hook 
type="Sitecore.ContentSearch.Hooks.Initializer, Sitecore.ContentSearch" 
patch:source="Sitecore.ContentSearch.config" 
xmlns:patch="http://www.sitecore.net/xmlconfig/" />  

Exception: System.InvalidOperationException

Message: Could not find property 'CheckForThreshold' on object of type: 
Sitecore.ContentSearch.Maintenance.Strategies.ManualStrategy

Source: Sitecore.Kernel
at Sitecore.Configuration.DefaultFactory.AssignProperties(Object obj, 
Object[] properties)
at Sitecore.Configuration.DefaultFactory.AssignProperties(XmlNode 
configNode, String[] parameters, Object obj, Boolean assert, Boolean 
deferred, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.CreateFromReference(XmlNode 
configNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.GetInnerObject(XmlNode paramNode, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.AssignProperties(XmlNode 
configNode, String[] parameters, Object obj, Boolean assert, Boolean 
deferred, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.GetInnerObject(XmlNode paramNode, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.AssignProperties(XmlNode 
configNode, String[] parameters, Object obj, Boolean assert, Boolean 
deferred, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, 
String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, 
String[] parameters, Boolean assert)
at Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()
at Sitecore.ContentSearch.Hooks.Initializer.Initialize()
at Sitecore.Events.Hooks.HookManager.LoadAll()

We have some custom code that is using the lucene index and when calling Sitecore.ContentSearch.ContentSearchManager.GetIndex it fails with more or less the same error message:

Exception: System.InvalidOperationException

Message: Could not find property 'CheckForThreshold' on object of type: 
Sitecore.ContentSearch.Maintenance.Strategies.ManualStrategy

We have been over the configuration multiple times, so I am pretty sure this part is correct. I was hoping someone might be able to point us in the right direction.

Thanks in advance

Best regards, Magnus

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Mark Cassidy
    Commented Nov 1, 2017 at 10:47

1 Answer 1

1

For the interested reader, I found out what the issue was:

The problem was the we are running Coveo and lucene side by side. The config file that switches Coveo from Master to Web changed the indexupdatestrategies to be manual. For some reason the Coveo setup on CD was referencing the property "CheckForThreshold" for this strategy and that does not exist for the manual update strategy.

I changed it to use OnPublishEnd strategy instead and then everything worked.

Hopefully this can someday help someone.

Thanks for all the advice.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.