Force Citrix Delivery Controller to Local Host Cache

By Rory Monaghan


This article is going to show how to force your primary Citrix Delivery Controller into Local Host Cache mode. This isn’t any huge relegation or unique to this site, it is covered as part of this Citrix article. I didn’t know about this until Citrix support told me how to do it and it’s kind of buried within this longer article. This post will serve as a brain dump and a more to the point article on just this feature with a specific use case.

You may ask yourself why would I ever want or need to force a Citrix Delivery Controller into Local Host Cache mode? (You may ask yourself, well, how did I get here?)

One example is an instance in which the Delivery Controller loses it’s DB connection as in the above screenshot and restores itself then drops then restores and over and over. Happening so quickly and frequently that Local Host Cache mode doesn’t have a chance to actually kick in, leading to users experiencing launch failures and eventually slowness for those with connections.

A more likely or obvious case may be that you lose the DB or connectivity but Local Host Cache did not take over as expected. If that is the case, you should check the directory C:\Windows\ServiceProfiles\NetworkService and ensure the local cache of the database exists and it is up to date.

If your Local Host Cache exists and you are ready to force the Delivery Controllers to use it, create the registry: HKLM\SOFTWARE\Citrix\DesktopServer\LHC\OutageModeForced as a DWORD set to 1. Pretty much instantly, Local Host Cache will kick in. Anyone trying to launch the app in the first few minutes may still get application launch issues as your VDAs will re-register.

Note: While in Local Host Cache mode, admin functionality will be lost. Making changes to Delivery Controllers, applications etc. will not be possible. Citrix Director will not get data etc. It does allow brokering sessions and registering VDAs, which will get people back to work.

When you are ready to force the Delivery Controllers to reconnect back to it’s DB, change the value to 0. The same immediate behavior should be experienced. You’ll see in the event logs that the DB connection gets restored. The VDAs will start to re-register and within a few minutes everything should stabilize.

Vlad Tchompalov

Let's make virtualization easier!

Be amongst the first to know when I publish new reviews, guides and tools to simplify your projects.

By signing up, you agree to our Terms of Use and acknowledge the data practices in our Privacy Policy. You may unsubscribe at any time.