Decline to cache preprocessor items larger than 1 Mb
[lhc/web/wiklou.git] / includes / parser / Preprocessor_Hash.php
index 8ddb401..9429e44 100644 (file)
@@ -734,8 +734,12 @@ class Preprocessor_Hash implements Preprocessor {
                // Cache
                if ( $cacheable ) {
                        $cacheValue = sprintf( "%08d", self::CACHE_VERSION ) . serialize( $rootNode );
-                       $wgMemc->set( $cacheKey, $cacheValue, 86400 );
-                       wfDebugLog( "Preprocessor", "Saved preprocessor Hash to memcached (key $cacheKey)" );
+
+                       // T111289: Cache values should not exceed 1 Mb, but they do.
+                       if ( strlen( $cacheValue ) <= 1e6 ) {
+                               $wgMemc->set( $cacheKey, $cacheValue, 86400 );
+                               wfDebugLog( "Preprocessor", "Saved preprocessor Hash to memcached (key $cacheKey)" );
+                       }
                }
 
                return $rootNode;