Don't overwrite all available object caches
authorFlorian <florian.schmidt.stargatewissen@gmail.com>
Sat, 26 Sep 2015 23:41:24 +0000 (01:41 +0200)
committerOri.livneh <ori@wikimedia.org>
Mon, 28 Sep 2015 17:01:42 +0000 (17:01 +0000)
Just because some defined object caches are problematic in the installer, it
doesn't mean, that all others are problematic, too. Disable only the object
caches, which are known problematic ones by preserving the others.

Follow up: I1c1938b3fac395d

Bug: T113843
Change-Id: I951ef22d97b4c66d3b781a9bc4a30e7e2fca1395

includes/installer/Installer.php

index 10dfa77..064bd6d 100644 (file)
@@ -370,14 +370,14 @@ abstract class Installer {
                $GLOBALS['wgMemc'] = new EmptyBagOStuff;
                ObjectCache::clear();
                $emptyCache = array( 'class' => 'EmptyBagOStuff' );
+               // disable (problematic) object cache types explicitly, preserving all other (working) ones
+               // bug T113843
                $GLOBALS['wgObjectCaches'] = array(
                        CACHE_NONE => $emptyCache,
                        CACHE_DB => $emptyCache,
                        CACHE_ANYTHING => $emptyCache,
                        CACHE_MEMCACHED => $emptyCache,
-                       // Set hash object cache (e.g. used in ResourceLoader LESS caching) - bug T113843
-                       'hash' => array( 'class' => 'HashBagOStuff' ),
-               );
+               ) + $GLOBALS['wgObjectCaches'];
 
                // Load the installer's i18n.
                $wgMessagesDirs['MediawikiInstaller'] = __DIR__ . '/i18n';