SharePoint 2013 Unable to change topology when Generation controller is not active

When making a change to the search topology, you need to have at least one index component in the active state with no warnings for each partition. This makes sense if you are adding additional partitions which would cause the indexed documents to be repartitioned. In that case you would need a valid copy of every document in the index to redistribute. Or, if you add additional replicas, you need a source to populate that replica with indexed documents. Unfortunately the constraint of having an indexer controller up in each partition applies to all topology changes. For examples, you could not add an additional admin component if one of you partitions is down.

Here is the error you’ll see if you try to activate an new topology in this state:


PS C:\Users\SPFarm> Set-SPEnterpriseSearchTopology -Identity $newTopology
Set-SPEnterpriseSearchTopology : Topology activation failed. Management called failed with System.InvalidOperationException: ‘Unable to change topology when Generation controller is not active’ at    at Microsoft.Ceres.SearchCore.IndexController.IndexController.IsEmptyIndex(String indexSystemName)
   at Microsoft.Ceres.SearchCore.IndexController.IndexControllerManagementAgent.WrapCall[T](Func`2 original)
At line:1 char:1
+ Set-SPEnterpriseSearchTopology -Identity $newTopology
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Offic…tSearchTopology:SetSearchTopology) [Set-SPEnterpriseSearchTopology], SearchTopologyActivationException
    + FullyQualifiedErrorId : Microsoft.Office.Server.Search.Cmdlet.SetSearchTopology


This is current as of the March 2013 Public Update. This appears to be yet another reason to assure your active topology is fault-tolerant and not to rely on adding additional components in the event of a failure.

Comments (3)

  1. Miguel Lima says:

    Thanks for your post. I would have never guessed why I could not activate the new topology. In my case I had redundant Query Processing and Index Components running in 2 servers but both of them had issues starting the NodeRunner process. NTDLL.DLL issue on Windows 2012. I ended up having to recreate my Search Service Application. Error details:

    Faulting application name: NodeRunner.exe, version: 15.0.4420.1017, time stamp: 0x506723c5

    Faulting module name: ntdll.dll, version: 6.2.9200.16420, time stamp: 0x505ab405

    Exception code: 0xc00000fd

    Fault offset: 0x0000000000024a11

    Faulting process id: 0xe68

    Faulting application start time: 0x01ce673bc8c536a8

    Faulting application path: E:Program FilesMicrosoft Office Servers15.0SearchRuntime1.0NodeRunner.exe

    Faulting module path: C:WindowsSYSTEM32ntdll.dll

    Report Id: 074b3ab9-d32f-11e2-940f-00155d84100b

    Faulting package full name:

    Faulting package-relative application ID:

  2. umesh says:

    I am facing this issue , is there a solution to this?

  3. BlueSky2010 says:

    Thanks Peter – looks like your observation is still valid in June 2014 CU update. I could not clone an index component while both Index components are degraded.