Avoid stack overflow in LoadBalancer with CACHE_DB WAN/server cache
[lhc/web/wiklou.git] / includes / objectcache / ObjectCache.php
index e1bb2db..26f3356 100644 (file)
@@ -228,14 +228,12 @@ class ObjectCache {
                        }
                }
 
-               try {
-                       // Make sure we actually have a DB backend before falling back to CACHE_DB
-                       MediaWikiServices::getInstance()->getDBLoadBalancer();
-                       $candidate = CACHE_DB;
-               } catch ( ServiceDisabledException $e ) {
+               if ( MediaWikiServices::getInstance()->isServiceDisabled( 'DBLoadBalancer' ) ) {
                        // The LoadBalancer is disabled, probably because
                        // MediaWikiServices::disableStorageBackend was called.
                        $candidate = CACHE_NONE;
+               } else {
+                       $candidate = CACHE_DB;
                }
 
                return self::getInstance( $candidate );