XdbCollectionUnavailable Exception Message

I have recently encountered with xDB XdbCollectionUnavailable error.There are multiple solutions for ressolving this issue.So i have consolidated some of the solutions for resolving this issue in local and production environments.

ERROR Exception when executing agent aggregation/pathAnalyzerLiveAgentException: Sitecore.XConnect.XdbCollectionUnavailableExceptionMessage: The HTTP response was not successful: ServiceUnavailableSource: Sitecore.Xdb.Common.Web

Note – This blog was written while using sitecore 9 update 2.Other versions may have different implementation/solution towards the problem.

Here are some of the troubleshooting steps for resolution of this issue.

  • Identify No-self signed certificates – following PowerShell command will identify non-self-signed certificates:

        Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject}

Move these non-self-signed certificates into the Intermediate Certification Authorities (i.e. CA) store

        Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject} | Move-Item -Destination  Cert:\LocalMachine\CA

  • IIS Authentication– Anonymous authentication needs to be enabled for the xConenct sites.

Navigate to the iis of xconnect site and see if app pool user (Application pool identity) has permissions for anonymous authentication. To do that follow the steps below

  1. IIS Manager ? Sites ? Website
  2. Double click “Authentication”
  3. Select Anonymous Authentication
  4. From the Actions panel, select Edit
  5. Select Application pool Identity and click ok

 

  • Set up shared sessions

Make sure to follow the Configure sitecore section of https://doc.sitecore.com/developers/90/platform-administration-and-architecture/en/walkthrough–configuring-a-shared-session-state-database-using-sql.html article and if the number of CD servers are 2 or more, make sure to change the default provider to outof-proc from in-proc which is default.

  • AppPool Permissions

Make sure the appool user have security permissions to on corresponding xconnect site.

See screenshot below

  • Database Settings

The database names of the shard tables should be verified in SQL in Collection.ShardMapManager table for correct server name, port.

The shard manager also keeps connection configuration in the [__ShardManagement].[ShardsGlobal] table of the ShardMapManager database. There is a ServerName, Port and DatabasName in there, so make sure these also point to the correct SQL server.

  • Connection string Settings

Make sure the following 4 settings in connectionstring.config contains the correct thumbprint of xConnect certificate for the xConnect site.

    1. collection.certificate
    2. referencedata.client.certificate
    3. marketingautomation.reporting.client
    4. marketingautomation.operations.client