3

One of my Index Partition is showing as degraded, when i execute Get-SPEnterpriseSearchStatus -Text -ServiceApplcation <<application>> command i get following text

Name        : Cell:IndexComponent3-SP0c723b61a4f0I.1.0
State       : Degraded
State       : Components OK. Index out of sync - catching up
Primary     : False
Partition   : 0
catch_up    : True
in_sync     : False
left_behind : True

moreover it is trying to sync index partitions at a regular intervals and failing.

1
  • related question, if i remove and add index partition, would it be able to replicate the index? – Sudhir Kesharwani Jun 16 '14 at 20:01
3

Yes you can remove the Current Index partition and add a new one. When you add a new index partition, the search index has to be repartitioned. Depending on the size of the search index, this repartitioning can take several hours to complete.

To add an index partition and repartition the search index, you add a new index component to the search topology and associate this index component with a new index partition number. Adding an index partition and repartitioning the search index should be initiated as a separate process and should not be initiated while you are making other changes to the search topology.

You must add the same number of index replicas to the new index partition as you have for your existing partitions.

How to add the Index partitioned, please follow the Below TechNet.

http://technet.microsoft.com/en-us/library/jj862355(v=office.15).aspx#Search_Index_Part

7
  • Thanks Waqas, our sharepoint farm contains a lot of data hence the index is very large, do you know if adding an index partition will have any downtime to the search? – Sudhir Kesharwani Jun 17 '14 at 14:26
  • 1
    The Search service application is paused during index repartitioning and cannot crawl or index content. Also, users will not be able to run queries. – Waqas Sarwar MVP Jun 17 '14 at 14:29
  • ooh, in that case the search will be down for 1-2 days (looking at our contents). Not sure if that will be acceptable. If you refer to the screens capture the State says "Component OK - Index out of Sync" that tells me that nothing wrong with the search components. Do you know if i have any alternative for synchronizing the index? – Sudhir Kesharwani Jun 17 '14 at 14:32
  • did you see anything in ULS logs? – Waqas Sarwar MVP Jun 17 '14 at 14:38
  • Waqar, so far have not found anything help full in ULS logs. I am checking logs for Admin and affected Index component. Shall i check any other server? – Sudhir Kesharwani Jun 17 '14 at 15:41
1

Answering my own question, hopefully this will help someone in need:-

Get your search farm status using following command

Get-SPEnterpriseSearchStatus -ServiceApplication "name of your SSA"

Get all the reference for modifying the search topology.

$ssa = Get-SPEnterpriseSearchServiceApplication

$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active

$host = get-spenterprisesearchserviceinstance <<server name>>

$clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active

Once you have executed this you should have everything required to update your topology. next step is to remove the corrupted index partition.

Get id of corrupted Index from following command.

Get-SPEnterpriseSearchComponent -SearchTopology $clone

Copy ComponenentId for currupted index partition from the result of above command and paste it onto the command below.

get-spenterprisesearchcomponent -searchtopology $clone –searchtopology $clone
Remove-SPEnterpriseSearchComponent -Identity <GUID of bad index component> -SearchTopology $clone

After it is removed, make the modified topology as active using following command.

Set-SPEnterpriseSearchTopology -identity $clone

if you review your search administration page, you should be seeing the the modified topology. At this moment you can delete everything from the index location of the currupted index partition. After that is done add the index componenet back to the topolgoy using following commands.

Make sure to close current powershell window (to remove all previous references), get new set of values for $ssa, $clone and $host. Once you have required references use following command to modify your search topology.

New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostA -IndexPartition 0 -RootDirectory "path"

Set-SPEnterpriseSearchTopology -identity $clone

Hope this helps someone in need.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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