Merge "MessageCache: Remove $wgMsgCacheExpiry configuration var"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 27 Aug 2019 18:33:05 +0000 (18:33 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 27 Aug 2019 18:33:05 +0000 (18:33 +0000)
1  2 
RELEASE-NOTES-1.34
includes/DefaultSettings.php
includes/ServiceWiring.php

diff --combined RELEASE-NOTES-1.34
@@@ -75,6 -75,8 +75,8 @@@ For notes on 1.33.x and older releases
  * $wgDebugPrintHttpHeaders - The default of including HTTP headers in the
    debug log channel is no longer configurable. The debug log itself remains
    configurable via $wgDebugLogFile.
+ * $wgMsgCacheExpiry - The MessageCache uses 24 hours as the expiry for values
+   stored in WANObjectCache. This is no longer configurable.
  * $wgPasswordSalt – This setting, used for migrating exceptionally old, insecure
    password setups and deprecated since 1.24, is now removed.
  * $wgDBOracleDRCP - If you must use persistent connections, set DBO_PERSISTENT
@@@ -354,6 -356,8 +356,6 @@@ because of Phabricator reports
  * The UserIsBlockedFrom hook is only called if a block is found first, and
    should only be used to unblock a blocked user.
  * …
 -* Language::$dataCache has been removed (without prior deprecation, for
 -  practical reasons). Use MediaWikiServices instead to get a LocalisationCache.
  
  === Deprecations in 1.34 ===
  * The MWNamespace class is deprecated. Use NamespaceInfo.
  * Constructing MovePage directly is deprecated. Use MovePageFactory.
  * TempFSFile::factory() has been deprecated. Use TempFSFileFactory instead.
  * wfIsBadImage() is deprecated. Use the BadFileLookup service instead.
 -* Language::getLocalisationCache() is deprecated. Use MediaWikiServices.
 -* The following Language methods are deprecated: isSupportedLanguage,
 -  isValidCode, isValidBuiltInCode, isKnownLanguageTag, fetchLanguageNames,
 -  fetchLanguageName, getFileName, getMessagesFileName, getJsonMessagesFileName.
 -  Use the new LanguageNameUtils class instead. (Note that fetchLanguageName(s)
 -  are called getLanguageName(s) in the new class.)
 +* Building a new SearchResult is hard-deprecated, always call
 +  SearchResult::newFromTitle(). This class is being refactored into an abstract
 +  class. If you extend this class please be sure to override all its methods
 +  or extend RevisionSearchResult.
  
  === Other changes in 1.34 ===
  * …
@@@ -2636,6 -2636,8 +2636,6 @@@ $wgLocalisationCacheConf = 
        'store' => 'detect',
        'storeClass' => false,
        'storeDirectory' => false,
 -      'storeServer' => [],
 -      'forceRecache' => false,
        'manualRecache' => false,
  ];
  
@@@ -3118,13 -3120,6 +3118,6 @@@ $wgTranslateNumerals = true
   */
  $wgUseDatabaseMessages = true;
  
- /**
-  * Expiry time for the message cache key, in seconds.
-  *
-  * @var int Defaults to 24 hours.
-  */
- $wgMsgCacheExpiry = 86400;
  /**
   * Maximum entry size in the message cache, in bytes
   */
@@@ -6844,8 -6839,6 +6837,8 @@@ $wgRCLinkLimits = [ 50, 100, 250, 500 ]
  /**
   * List of Days options to list in the Special:Recentchanges and
   * Special:Recentchangeslinked pages.
 + *
 + * @see ChangesListSpecialPage::getLinkDays
   */
  $wgRCLinkDays = [ 1, 3, 7, 14, 30 ];
  
@@@ -45,10 -45,10 +45,10 @@@ use MediaWiki\Block\BlockRestrictionSto
  use MediaWiki\Config\ConfigRepository;
  use MediaWiki\Config\ServiceOptions;
  use MediaWiki\FileBackend\FSFile\TempFSFileFactory;
 +use MediaWiki\FileBackend\LockManager\LockManagerGroupFactory;
  use MediaWiki\Http\HttpRequestFactory;
  use MediaWiki\Interwiki\ClassicInterwikiLookup;
  use MediaWiki\Interwiki\InterwikiLookup;
 -use MediaWiki\Languages\LanguageNameUtils;
  use MediaWiki\Linker\LinkRenderer;
  use MediaWiki\Linker\LinkRendererFactory;
  use MediaWiki\Logger\LoggerFactory;
@@@ -257,6 -257,13 +257,6 @@@ return 
                );
        },
  
 -      'LanguageNameUtils' => function ( MediaWikiServices $services ) : LanguageNameUtils {
 -              return new LanguageNameUtils( new ServiceOptions(
 -                      LanguageNameUtils::$constructorOptions,
 -                      $services->getMainConfig()
 -              ) );
 -      },
 -
        'LinkCache' => function ( MediaWikiServices $services ) : LinkCache {
                return new LinkCache(
                        $services->getTitleFormatter(),
                );
        },
  
 -      'LocalisationCache' => function ( MediaWikiServices $services ) : LocalisationCache {
 -              $conf = $services->getMainConfig()->get( 'LocalisationCacheConf' );
 -
 -              $logger = LoggerFactory::getInstance( 'localisation' );
 -
 -              // Figure out what class to use for the LCStore
 -              $storeArg = [];
 -              $storeArg['directory'] =
 -                      $conf['storeDirectory'] ?? $services->getMainConfig()->get( 'CacheDirectory' );
 -
 -              if ( !empty( $conf['storeClass'] ) ) {
 -                      $storeClass = $conf['storeClass'];
 -              } elseif ( $conf['store'] === 'files' || $conf['store'] === 'file' ||
 -                      ( $conf['store'] === 'detect' && $storeArg['directory'] )
 -              ) {
 -                      $storeClass = LCStoreCDB::class;
 -              } elseif ( $conf['store'] === 'db' || $conf['store'] === 'detect' ) {
 -                      $storeClass = LCStoreDB::class;
 -                      $storeArg['server'] = $conf['storeServer'] ?? [];
 -              } elseif ( $conf['store'] === 'array' ) {
 -                      $storeClass = LCStoreStaticArray::class;
 -              } else {
 -                      throw new MWException(
 -                              'Please set $wgLocalisationCacheConf[\'store\'] to something sensible.'
 -                      );
 -              }
 -              $logger->debug( "LocalisationCache: using store $storeClass" );
 -
 -              return new $conf['class'](
 -                      new ServiceOptions(
 -                              LocalisationCache::$constructorOptions,
 -                              // Two of the options are stored in $wgLocalisationCacheConf
 -                              $conf,
 -                              // In case someone set that config variable and didn't reset all keys, set defaults.
 -                              [
 -                                      'forceRecache' => false,
 -                                      'manualRecache' => false,
 -                              ],
 -                              // Some other options come from config itself
 -                              $services->getMainConfig()
 -                      ),
 -                      new $storeClass( $storeArg ),
 -                      $logger,
 -                      [ function () use ( $services ) {
 -                              $services->getResourceLoader()->getMessageBlobStore()->clear();
 -                      } ],
 -                      $services->getLanguageNameUtils()
 -              );
 -      },
 -
        'LocalServerObjectCache' => function ( MediaWikiServices $services ) : BagOStuff {
                $config = $services->getMainConfig();
                $cacheId = \ObjectCache::detectLocalServerCache();
                return \ObjectCache::newFromParams( $config->get( 'ObjectCaches' )[$cacheId] );
        },
  
 +      'LockManagerGroupFactory' => function ( MediaWikiServices $services ) : LockManagerGroupFactory {
 +              return new LockManagerGroupFactory(
 +                      WikiMap::getCurrentWikiDbDomain()->getId(),
 +                      $services->getMainConfig()->get( 'LockManagers' ),
 +                      $services->getDBLoadBalancerFactory()
 +              );
 +      },
 +
        'MagicWordFactory' => function ( MediaWikiServices $services ) : MagicWordFactory {
                return new MagicWordFactory( $services->getContentLanguage() );
        },
                                ? $services->getLocalServerObjectCache()
                                : new EmptyBagOStuff(),
                        $mainConfig->get( 'UseDatabaseMessages' ),
-                       $mainConfig->get( 'MsgCacheExpiry' ),
                        $services->getContentLanguage()
                );
        },