It is "down" when for some reason the usually working database query does not return anything. We have two levels on caching on top of it, so to avoid the database coming back with bad data, and if the data is bad it is never cached, and the cache is cleared when the cache if found bad. We have been all around this code bazillion times, built in various self healing things, so that it heals itself as soon as possible (caches when have data, drops cache with bad cache). I think I have done everything I can to make it work flawlessly and I did not succeed in that.