2

We are suddenly experiencing a problem with Sitecore never starting up. It looks like the last meaningful line in the log is that the IndexingStateSwitcher job starts, however, it never ends. In our other environments this job takes ~1 second to run. See log line below:

INFO  Job started: Sitecore.ContentSearch.SolrProvider.Agents.IndexingStateSwitcher

After approximately 40 mins, we see an entry in the system Event Viewer that the application pool failed to respond to ping, at which point the application pool is stopped and a new process is started. Here is what appears in the event viewer:

A process serving application pool 'prod.XXXX.org' failed to respond to a ping. The process id was '4328'.

This may occur, 3-5, even 6 times and eventually the application starts up and behaves as expected. We confirmed that connections to SOLR work without issue once Sitecore starts up. SOLR has plenty of memory and responds to queries without issue. The issue does not seem to coincide with a code or configuration deployment in Sitecore.

Are there any reasons this job may hang like that?


In cases when Sitecore starts up without issue, after a few retries, the job starts and finishes in just 1 second like on any other environment. The issue appears to be intermittent.

2
  • 1
    Are you using SolrCloud? If so, while the issue is happening, can you go to the Solr instance and go to /solr/#/~cloud?view=tree and look in /overseer and see if the queue file is a directory or a file, and if it is a directory, does it have many files in it? Commented Jun 24, 2020 at 0:06
  • @MatthewFitzGerald-Chamberlain - we have a VM in which SOLR is running, however, we can take a look if there is some queue. Commented Jun 24, 2020 at 13:33

1 Answer 1

1

We worked with Sitecore support to discover this is a known issue with some versions of Sitecore including ours Sitecore 9.1 Update-1.

Deadlock on application start

Using federated authentication with Federated Experience Manager (FXM) might prevent Sitecore XP instances from starting.

If a Sitecore XP application is not starting, then create a memory dump of the process. If there is a deadlock between threads calling FxmSiteProvider.FxmSites and DefaultSiteContextFactory.GetSites() methods, then apply the solution that follows in this article.

Solution

To resolve the issue, download the configuration file Sitecore.Support.329897.config and place it into the \App_Config\Include\zzz folder of the solution. The file should be added to all Content Management and Content Delivery instances. The patch is also applicable if Sitecore XP is run as a Standalone role. After applying the provided configuration file, an exception appears in the logs during the application startup. This exception is handled and it only appears once through the application lifetime. It does not have any negative impact on functionality or performance and therefore it can be safely ignored.

Sitecore.Support.329897.config:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
  <sitecore role:require="Standalone or ContentDelivery or ContentManagement">
    <hooks>
      <hook type="Sitecore.Owin.Authentication.Pipelines.CookieAuthentication.ValidateIdentity.CheckIdentityProvider, Sitecore.Owin.Authentication" resolve="true" patch:before = "*[1]" />
    </hooks>
  </sitecore>
</configuration>

Resources:

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.