Rebuilding ISA Configuration Cache

ISA 2006 Enterprise Edition* keeps its configuration in a CSS, which is often on a different machine than the ISA Server. In order to deal with cases where connectivity to the CSS is lost, ISA keeps relevant parts of its configuration in a local cache. This cache is stored in the registry. Whenever configuration changes are made, they are stored in the CSS, and then the ISA Configuration Agent (codenamed "Mixer") updates the local cache.

While the cache is generally well-maintained, there are rare cases where it gets out of sync with the configuration on the CSS. This can cause many problems - for example, if the cache contains an orphaned Web listener, any new listener would generate an IP conflict.

The best solution for these situations is to make ISA rebuild its configuration cache. Here's how you do it:

  1. On each ISA Server in the array, run the following command:

     reg add HKLM\SOFTWARE\Microsoft\RAT\Stingray\Debug\ISACTRL /v CTRL_MIXER_CACHE_BUILD_NEW_IN_NEXT_UPDATE /t REG_DWORD /d 1 /f
    
  2. Make some inconsequential change to the array configuration (say, change the array's description). Then apply, and wait for configuration to reload. During this reload, ISA will re-build its configuration cache.

  3. On each ISA Server in the array, run the following command:

     reg add HKLM\SOFTWARE\Microsoft\RAT\Stingray\Debug\ISACTRL /v CTRL_MIXER_CACHE_BUILD_NEW_IN_NEXT_UPDATE /t REG_DWORD /d 0 /f
    

And that's it! No reboot or service restart necessary.

* [updated:] Applies to ISA 2006 Enterprise Edition, TMG MBE and most likely future versions of TMG. Does not apply to ISA 2000, ISA 2004/2006 Standard Edition or ISA 2004 Enterprise Edition.

-Jonathan Barner, ISA/TMG Customer Satisfaction team