Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

We have a test environment that is no longer able to successfully crawl content. The crawl logs show successful URLs, but I can't search for that content. It has worked in the past, but stopped working for some unknown reason.

This is a single SharePoint 2013 server that is crawling SharePoint 2010 farms. When looking at the search topology in the Search Service Application, I see:

enter image description here

I can also look at it with PowerShell and see that it is "degraded":

enter image description here

I tried resetting the index, but that did not help. Looking at the ULS log, I see lots of errors. Here are 3 examples:

CSSFeedersManager::session_CallbackReceived: Document 55747 processing failed. Error messages: Failed to create session with indexer; Aborting insert of item in Link Database because it was not inserted to the Search Index.; , errorID = 2147749241 hostName = EATIFSPS2013A nodeName = ContentProcessingComponent1

Component and System=Content1-a9f229cd-e4ce-43b6-88c3-fab1cc9b6d45, Correlation ID=d57ff765-1ffc-4fc9-bb65-7e0f11e9abfb, Tenant ID=0c37852b-34d0-418e-91c6-2ac25af4be5b Error code=800000, Flow Name=Microsoft.CrawlerFlow, Operator Name=InjectedOpForExceptionHandling/EventHybrid_Indexing, Message=The processing of item fails with error Failed to create session with indexer

Microsoft.Ceres.ContentEngine.Processing.Mars.MarsWriterProducer: Failed to create session for index system: SPb0bb381ca970: Microsoft.Ceres.SearchCore.Services.ContentRouter.ContentException: Unable to connect to index system SPb0bb381ca970
at Microsoft.Ceres.SearchCore.ContentRouter.ContentRouter.VerifyIndexSystem(String indexSystem)
at Microsoft.Ceres.SearchCore.ContentRouter.ContentRouter.OpenSession(String indexSystem, Action1 callback, IDictionary2 defaultPolicy)
at Microsoft.Ceres.ContentEngine.Processing.Mars.MarsWriterProducer.GetSession(String indexSystem)

I have seen where I you have multiple index partitions you can remove one and add another. If you only have one, I have read that you have to create a new search service application (as you cannot remove all index partitions). Maybe I could add one and then remove the original/bad one.

I have also seen on this blog where maybe I should open up TCP 808 ports inbound into my SharePoint 2010 sites (the content I am crawling). We didn't close these on purpose, but maybe that did happen (I'm looking into it).

EDIT: I tried resetting the index and only crawling content on the single SharePoint 2013 machine and still have the problem. I don't think it has anything to do with firewall ports (TCP 808 or other).

Any recommendations?

share|improve this question
    
I failed to update my answer, but I'm pretty sure I "solved" this by re-creating the SSA. Not a good answer in most situations, and a little painful, but it worked for me. –  Kirk Liemohn Jun 30 at 13:48

3 Answers 3

In a single server farm your options are really limited. The easiest method would be to recreate the Search SSA. I do this from a script and it should just take a few minutes on a decent machine.

I don't think (though I have not tried) removing and recreating the Index Component alone, but if killing the SSA is not an option you may want to try this first.

share|improve this answer
    
Alternatively to recreating the entire search service application you could try instead creating and activating a new topology with a new index component. This way you won't lose any of your search service configurations. –  shufler May 28 at 0:16
    
I just noticed this answer, Matt. It has been awhile now, but I'm pretty sure I did, in fact, re-create the SSA. I hesitate to say this is the correct answer because if faced with this situation again I may not have the luxury of re-creating the SSA. –  Kirk Liemohn Jun 30 at 13:47

Index reset + full crawl of all content sources.

http://www.thesysadminhimself.com/2013/08/sharepoint-search-index-partition-degraded.html

share|improve this answer
    
Index reset and full crawl is what did not work for me. –  Kirk Liemohn Jun 30 at 13:47

You don't have to rebuild the SSA, just create a new topology as shufler mentioned. Here's a script that I just ran with my environment info, and it resolved the problem for me :)

#set Search Service Application
$ssa = Get-SPEnterpriseSearchServiceApplication

#recreate search topology with new index component
#reset the index if the bad component is the index

#grab component name of faulty topology component and it's respective server name
Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text

#put server name where [SERVER] is.. remove the []
$hosta = get-spenterprisesearchserviceinstance -identity [SERVER]

#get the existing topology
$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active

#copy the existing topology
$clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active

#remove the bad component, placing the name where [BAD COMPONENT NAME] is... remove the []
$ComponentID = (Get-SPEnterpriseSearchComponent -SearchTopology $clone -Identity [BAD COMPONENT NAME]).componentID
Remove-SPEnterpriseSearchComponent -Identity $ComponentID.GUID -SearchTopology $clone -confirm:$false

#create the new component, the example below is for the index specifically - create a new folder for the index so it's empty!
New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostA -IndexPartition 0 -RootDirectory F:\SPIndex 

#Set this copy as the active topology
Set-SPEnterpriseSearchTopology -identity $clone
share|improve this answer
    
Thanks for the answer. I'll look into this next time I have the problem. –  Kirk Liemohn Aug 22 at 0:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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