0

I am hoping to understand the cause of this and hopefully find a solution - I have looked at every possible solution, but haven't been able to fix it.

Sitecore v8.2 update 3 using SOLR.

In my current set up, Core DB is not shared between CM and CD servers. Index update strategy for web db is onPublishEndAsync.

I created a new item and published it. Item was published to the web db, but the item didn't appear in the index. I thought perhaps core db might have a play in this. So, I changed the settings as follows.

  1. Both CM and CD servers to share the core db.
  2. Set up the InstanceName and Publishing.PublishingInstance instance name on CM and CD servers. On CM server, the value for these settings is CM. On the CD server, InstanceName is left blank and Publishing.PublishingInstance value is CM
  3. Updated the eventqueue polling interval to 1 minute.
  4. Changed the crawling log to add debug information.

Index is still not updated and the message that I see in the logs is 'Event Queue is empty. Incremental update returns'

All the events are processed in the event queue according to EventQueueStats.aspx

What could be the cause of it?

Edit:

I kicked off index rebuild from 'developers' tab, but even that didn't update the web index. The core name and the ID is correct.

Job ended: Index Rebuild (sitecore_web_index) (units processed: )
7
  • If rebuilding the index manually also did not work, maybe there is an error while accessing the index core in the solr server. Check if you can access the solr server and the core for sitecore_web_index on a browser.
    – adarsh
    Commented Jan 3, 2018 at 17:26
  • Anything funky in the SOLR logs? Commented Jan 3, 2018 at 17:33
  • @adarsh I can access the server and the core in the browser. Connection is correct as well, as the master index gets updated. Commented Jan 3, 2018 at 17:52
  • Nothing in the logs @CraigTaylor Any other log that I can update to spit out debug info apart from crawling? Commented Jan 3, 2018 at 17:52
  • What do you have the Instance Name values set to? You should likely leave the Instance Name blank (unless your servers have the exact same machine name and IIS Site name, which is unlikely). Also, unless you have a separate Publishign Instance server, don't set the Publishing.PublishInstance.
    – jrap
    Commented Jan 4, 2018 at 0:12

1 Answer 1

3

Based on Sitecore Documentation, your Core DB must be shared between CM and CD!

In the standard multiserver Sitecore environment, all the content management and content delivery instances share the Core and Web databases, and all the content management instances share the Master database. This means that you have to use the same connection strings to the databases for the configuration file of each server.

The following diagram illustrates the connections between the servers and the content databases in a standard multiserver Sitecore setup:

enter image description here

Events are delivered from one instance to another as records in EventQueue data table. By default, Sitecore uses Core DB for storing these events, but that can be changed in config.

<eventing defaultProvider="sitecore">
  <providers>
    <clear/>
    <add name="sitecore" type="Sitecore.Eventing.EventProvider, Sitecore.Kernel" systemDatabaseName="core"/>
  </providers>
</eventing>

If shared Core DB is not possible for any reason, set up SQL replication for Core database from CM to CD to synchronize events.

You can find more information regarding SQL replication in Sitecore documentation - SQL Server Replication Guide

3
  • Thanks Andrei. The other half of my question explains the steps I took after I changed the set up to use shared Core DB. I still can't get the index to update. Commented Jan 3, 2018 at 14:57
  • This is certainly part of the issue. Go in your core database and run the following query SELECT * FROM [Properties] where [Key] like EQSTAMP%' You should see separate instance names from all servers that are properly processing the event queue. The Value field should be almost identical as well- which implies all server shave processed the latest events. If you do not see more than one record returned, then your CD server is not processing events properly.
    – jrap
    Commented Jan 4, 2018 at 0:09
  • Viewing EventQueueStats.aspx from your CM server will not help. If you're able to view that page from your CD server that could help to let you know if the Event Queue is healthy.
    – jrap
    Commented Jan 4, 2018 at 0:10

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.