I recently experienced a problem with SharePoint 2010 and FAST content sources which turned out to be a quick fix – once I had spent over an hour tying to figure out what was causing the issue.
FAST and SharePoint 2010 have been working perfectly on this particular development server since installation. Recently the content sources had stopped working, yet nothing significant had changed on the server.
The symptoms were as follows:
- Content sources start crawling and never stop.
- Manually stopping the content source crawl hangs on “Stopping”.
- No documents are ever actually crawled
- Numerous errors in windows application log: ‘Failed to initialize session with document engine: Unable to resolve Contentdistributor‘
Having spent some time Googling the issue and checking my server it turns out there is a good reason and an easy fix.
During installation on development servers a self-signed certificate can be created for communication between FAST and SharePoint. It turns out that the self-signed certificate is only valid for one year and when it expires the above problems will occur. Unfortunately there is no mechanism making it obvious to the user that the certificate has expired, hence the potential for confusion.
The fix is to generate and deploy new self-signed certificate and this can be achieved with the following steps:
- Make sure the FAST Search for SharePoint & FAST Search for SharePoint Monitoring windows services are stopped.
- Open the FAST PowerShell on the FAST server as an administrator.
- Navigate to the FAST directory (i.e. <FASTSearchFolder>\installer\scripts)
- Run the following command: .\ReplaceDefaultCertificate.ps1 -generateNewCertificate $true
- This will generate a new certificate, valid for one year in the following folder: <FASTSearchFolder>\data\data_security\cert\FASTSearchCert.pfx
- This certificate will need to be copied to the SharePoint server (if running a multi-server environment).
- Start the FAST Search for SharePoint & FAST Search for SharePoint Monitoring windows services.
- Now the certificate needs to be loaded on the SharePoint server.
- Open the SharePoint PowerShell as an administrator on the SharePoint 2010 server.
- Navigate to the location of the SecureFASTSearchConnector.ps1 script (this script may need to be copied from the FAST server as mentioned in step 6).
- Run the following command (userName should reflect the details of the user running the SharePoint Server Search 14 (OSearch14) windows service):.\SecureFASTSearchConnector.ps1 –certPath “path of the certificate\certificatename.pfx” –ssaName “name of your content SSA” –username “domain\username”
Assuming there were no errors when running the PowerShell scripts the SharePoint server certificate has been deployed and will be valid for another year. The content sources will begin working normally again.
It is possible to set a 100 year expiration on the certificate and that process is detailed on Mikael Svenson’s blog:
These links helped me to get to the bottom of this issue: