An MS employee posted an update regarding the Noderunner search process in SharePoint 2013 and the current issues it has regarding leaving memory.
The technique of limiting the Noderunner.exe.config file with a setting in the memoryLimitMegabytes works really well.. Too well in fact if you’re trying to reconfigure your search topology in PowerShell. When you try to activate your new topology, after about 10 minutes of staring at the powershell cursor, you receive an error, “Failed to connect to System Managerâ€
09/19/2012 14:55:22.60 OWSTIMER.EXE (0x082C) 0x0844 SharePoint Server Search Administration ai1er Medium Unable to connect to system client with derived management URIs. Exception: Failed to connect to system manager. SystemManagerLocations: net.tcp://win2k8sp15/78580D/AdminComponent1/Management at Microsoft.Office.Server.Search.Administration.SearchServiceApplication.GetSystemClient(IList`1 systemManagerLocations) at Microsoft.Office.Server.Search.Administration.Topology.ApplicationAdminLayer.Reconnect() c80fcf9b-cf6b-2083-a27f-5d57c7dc4ef3
Further investigation into the ULS reveals an Out of Memory exception occuring in the Noderunner.Exe while trying to acquire the local farm
09/19/2012 14:55:22.52 NodeRunner.exe (0x0F40) 0x0B3C SharePoint Foundation Topology 88bl Monitorable An exception occured while trying to acquire the local farm: System.TypeInitializationException: The type initializer for ‘System.Data.Common.DbConnectionOptions’ threw an exception. —> System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown. at System.Text.RegularExpressions.RegexCompiler.GenerateOneCode() at System.Text.RegularExpressions.RegexCompiler.GenerateForwardSection() at System.Text.RegularExpressions.RegexCompiler.GenerateGo() at System.Text.RegularExpressions.RegexLWCGCompiler.FactoryInstanceFromCode(RegexCode code, RegexOptions options) at System.Text.RegularExpressions.RegexCompiler.Compile(RegexCode code, RegexOptions options) at System.Text.RegularExpressions.Regex.Compile(RegexCode code, RegexOptions roptions) …
If you remove the memory restriction added to the noderunner.exe.config file, reboot the server and try again, the topology change works perfectly.
Hope this helps reduce your frustration levels!
Paul.