Page MenuHomePhabricator

Try to make wmf-config/wgConf's per-wiki configuration cache redundant
Closed, ResolvedPublic

Description

It's a holdover from the PHP 5 era.

It may still be needed or it may not...

wmf-config CommonSettings.php (as of Jul 2017)
# Try configuration cache
$filename = "/tmp/mw-cache-$wmgVersionNumber/conf-$wgDBname";
if ( defined( 'HHVM_VERSION' ) ) {
	$filename .= '-hhvm';
}

$globals = false;
if ( @filemtime( $filename ) >= filemtime( "$wmfConfigDir/InitialiseSettings.php" ) ) {
	$cacheRecord = @file_get_contents( $filename );
	if ( $cacheRecord !== false ) {
		$globals = unserialize( $cacheRecord );
	}
}

if ( !$globals ) {
	# Get configuration from SiteConfiguration object
	require( "$wmfConfigDir/InitialiseSettings.php" );

	$wikiTags = [];
	foreach ( [ 'private', 'fishbowl', 'special', 'closed', 'flow', 'flaggedrevs', 'small', 'medium',
			'large', 'wikimania', 'wikidata', 'wikidataclient', 'visualeditor-nondefault',
			'commonsuploads', 'nonbetafeatures', 'group0', 'group1', 'group2', 'wikipedia', 'nonglobal',
			'wikitech', 'nonecho', 'mobilemainpagelegacy', 'compact-language-links', 'nowikidatadescriptiontaglines',
			'related-articles-footer-blacklisted-skins',
			'top6-wikipedia'
		] as $tag ) {
		$dblist = MWWikiversions::readDbListFile( $tag );
		if ( in_array( $wgDBname, $dblist ) ) {
			$wikiTags[] = $tag;
		}
	}

	$dbSuffix = ( $site === 'wikipedia' ) ? 'wiki' : $site;
	$confParams = [
		'lang'	=> $lang,
		'docRoot' => $_SERVER['DOCUMENT_ROOT'],
		'site'	=> $site,
		'stdlogo' => "//{$wmfHostnames['upload']}/$site/$lang/b/bc/Wiki.png" ,
	];
	// Add a per-language tag as well
	$wikiTags[] = $wgConf->get( 'wgLanguageCode', $wgDBname, $dbSuffix, $confParams, $wikiTags );
	$globals = $wgConf->getAll( $wgDBname, $dbSuffix, $confParams, $wikiTags );

	# Save cache
	@mkdir( '/tmp/mw-cache-' . $wmgVersionNumber );
	$tmpFile = tempnam( '/tmp/', "conf-$wmgVersionNumber-$wgDBname" );
	if ( $tmpFile && file_put_contents( $tmpFile, serialize( $globals ) ) ) {
		if ( !rename( $tmpFile, $filename ) ) {
			// T136258: Rename failed, cleanup temp file
			unlink( $tmpFile );
		};
	}
}

extract( $globals );
  • Clean up and refactor to improve testing and reduce duplication.
  • Refactor to one entry method that covers all wgConf/tmpfile/globals setting/loading/computation.
  • Draft change without intermediary json tmpfile cache and compare.
  • Improve performance of hot SiteConfiguration code.
  • Improve performance of hot dblist loading code.
  • If cache no longer useful:
    • Remove caching code and associated opcache/mtime complexity.
    • Consider removing SiteConfiguration::loadFulllData, $wgConf->loadFullData() calls, and wmfLoadInitialiseSettings() function; which currently exist only so as to separate the cached extraction for the current wiki from the rest of the data. This shouldn't be needed anymore.

See also:
T311788: MW wmf-config tmp cache stays outdated after Scap deploy (opcache revalidation is off)
T236104: Cache of wmf-config/InitialiseSettings often 1 step behind

Details

SubjectRepoBranchLines +/-
operations/mediawiki-configmaster+0 -3
operations/mediawiki-configmaster+8 -3
operations/mediawiki-configmaster+0 -31
operations/mediawiki-configmaster+0 -18
operations/mediawiki-configmaster+11 -4
operations/mediawiki-configmaster+1 -2
operations/mediawiki-configmaster+5 -41
operations/mediawiki-configmaster+6 -37
operations/mediawiki-configmaster+15 -10
operations/mediawiki-configmaster+1 K -6
operations/mediawiki-configmaster+22 -12
operations/mediawiki-configmaster+55 -57
operations/mediawiki-configmaster+35 -12
operations/mediawiki-configmaster+94 -101
operations/mediawiki-configmaster+2 -6
operations/mediawiki-configmaster+63 -35
mediawiki/coremaster+19 -14
mediawiki/coremaster+1 -1
operations/mediawiki-configmaster+0 -25
operations/mediawiki-configmaster+6 -5
operations/mediawiki-configmaster+1 -1
operations/mediawiki-configmaster+0 -2
operations/mediawiki-configmaster+2 K -29
operations/mediawiki-configmaster+31 -0
operations/mediawiki-configmaster+0 -5
operations/mediawiki-configmaster+4 -11
mediawiki/corewmf/1.35.0-wmf.22+32 -34
mediawiki/coremaster+32 -34
mediawiki/corewmf/1.35.0-wmf.22+85 -61
mediawiki/coremaster+85 -61
operations/mediawiki-configmaster+11 -13
operations/mediawiki-configmaster+12 -11
operations/mediawiki-configmaster+4 -8
mediawiki/coremaster+33 -1
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 576490 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] [WIP] MWConfigCacheGenerator: Stop reading most wiki-family dblist files

https://gerrit.wikimedia.org/r/576490

Change 576489 merged by jenkins-bot:
[operations/mediawiki-config@master] tests: Reduce 'family' assertion to just 'wiki-suffix disambig'

https://gerrit.wikimedia.org/r/576489

Change 576483 merged by jenkins-bot:
[mediawiki/core@master] SiteConfiguration: Optimise getSetting() internals for getAll()

https://gerrit.wikimedia.org/r/576483

Change 576864 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@wmf/1.35.0-wmf.22] SiteConfiguration: Optimise getSetting() internals for getAll()

https://gerrit.wikimedia.org/r/576864

Change 576867 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] SiteConfiguration: Optimise arrayMerge()

https://gerrit.wikimedia.org/r/576867

Change 576867 merged by jenkins-bot:
[mediawiki/core@master] SiteConfiguration: Optimise arrayMerge()

https://gerrit.wikimedia.org/r/576867

Change 576490 merged by jenkins-bot:
[operations/mediawiki-config@master] MWConfigCacheGenerator: Stop reading most wiki-family dblist files

https://gerrit.wikimedia.org/r/576490

Change 576864 merged by jenkins-bot:
[mediawiki/core@wmf/1.35.0-wmf.22] SiteConfiguration: Optimise getSetting() internals for getAll()

https://gerrit.wikimedia.org/r/576864

Change 577034 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@wmf/1.35.0-wmf.22] SiteConfiguration: Optimise arrayMerge()

https://gerrit.wikimedia.org/r/577034

Change 577034 merged by jenkins-bot:
[mediawiki/core@wmf/1.35.0-wmf.22] SiteConfiguration: Optimise arrayMerge()

https://gerrit.wikimedia.org/r/577034

The various patches link on this task have all been deployed meanwhile.

Before profile (link, from T169821#5933516):
  • MWConfigCacheGenerator::getMWConfigForCacheing - 25ms
    • MWWikiversions::readDbListFile, 43 calls, 8.1ms. (0.18ms avg per call)
    • SiteConfiguration::getAll, 1 call, 17.4ms
      • SiteConfiguration::getSetting, 920 calls, 16.2ms (0.02ms avg per call)
    • SiteConfiguration::get, 1 call, 0.04ms

After profile (link):

  • MWConfigCacheGenerator::getMWConfigForCacheing - 7ms
    • MWWikiversions::readDbListFile, 35 calls, 2.8ms (0.08ms avg per call)
    • SiteConfiguration::getAll, 1 call, 4.1ms
      • SiteConfiguration::processSetting, 923 calls, 2.9ms (0.003ms avg per call)
    • SiteConfiguration::get, 1 call, 0.02ms

Note that the absolute numbers are somewhat inflated in general here as these come from Tideways/XHGui which adds significant run-time overhead (a fixed cost for each individual function call, and it prevents some opcache optimisations).

Krinkle renamed this task from Investigate whether wmf-config's configuration cache is still needed to Try to make wmf-config/wgConf's per-wiki configuration cache redundant.Mar 5 2020, 9:39 PM

Change 578654 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] tests: Add structure test to disallow loading unused dblists

https://gerrit.wikimedia.org/r/578654

Change 578655 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] MWConfigCacheGenerator: Stop loading five unused dblists on web reqs

https://gerrit.wikimedia.org/r/578655

Change 578655 merged by jenkins-bot:
[operations/mediawiki-config@master] MWConfigCacheGenerator: Stop loading five unused dblists on web reqs

https://gerrit.wikimedia.org/r/578655

Change 578654 merged by jenkins-bot:
[operations/mediawiki-config@master] tests: Add structure test to disallow loading unused dblists

https://gerrit.wikimedia.org/r/578654

First profile - original (link, from T169821#5933516):
  • MWConfigCacheGenerator::getMWConfigForCacheing - 25ms
    • MWWikiversions::readDbListFile, 43 calls, 8.1ms. (0.18ms avg per call)
    • SiteConfiguration::getAll, 1 call, 17.4ms
      • SiteConfiguration::getSetting, 920 calls, 16.2ms (0.02ms avg per call)
    • SiteConfiguration::get, 1 call, 0.04ms
Second profile (link, from T169821#5943818):
  • MWConfigCacheGenerator::getMWConfigForCacheing - 7ms
    • MWWikiversions::readDbListFile, 35 calls, 2.8ms (0.08ms avg per call)
    • SiteConfiguration::getAll, 1 call, 4.1ms
      • SiteConfiguration::processSetting, 923 calls, 2.9ms (0.003ms avg per call)
    • SiteConfiguration::get, 1 call, 0.02ms

Note that the absolute numbers are somewhat inflated as they come from Tideways/XHGui, which adds significant run-time overhead (a fixed cost for each individual function call, and it prevents some opcache optimisations).

A few more optimizations have landed meanwhile. Time for another profile.

Third profile (link):

  • MWConfigCacheGenerator::getMWConfigForCacheing - 4.2ms
    • MWWikiversions::readDbListFile, 26 calls, 1.2ms (0.05ms avg per call)
      • MWWikiversions::evalDbListExpression, 1 call, 0.5ms (This is for `group1.dblist)
        • MWWikiversions::readDbListFile, 4 calls, …
    • SiteConfiguration::getAll, 1 call, 2.8ms
      • SiteConfiguration::processSetting, 923 calls, 2.0ms (0.002ms avg per call)
    • SiteConfiguration::get, 1 call, 0.02ms

Change 579105 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] multiversion: Let buildDBLists.php expand expression dblists

https://gerrit.wikimedia.org/r/579105

Change 579105 merged by jenkins-bot:
[operations/mediawiki-config@master] multiversion: Let buildDBLists.php expand expression dblists

https://gerrit.wikimedia.org/r/579105

Change 579643 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] wgConf: Remove unused 'fullLoadCallback' property assignment

https://gerrit.wikimedia.org/r/579643

Change 579645 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] wgConf: Assign $wgLocalDatabases normally instead of by-ref

https://gerrit.wikimedia.org/r/579645

Change 579651 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] Move $wgConf to CommonSettings.php (1/2)

https://gerrit.wikimedia.org/r/579651

Change 579652 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] Move $wgConf to CommonSettings.php (2/2)

https://gerrit.wikimedia.org/r/579652

Change 579653 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] [WIP] Remove use of the $globals tmp cache file

https://gerrit.wikimedia.org/r/579653

Change 579812 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] SiteConfiguration: Remove by-ref return from getLocalDatabases()

https://gerrit.wikimedia.org/r/579812

Change 579643 merged by jenkins-bot:
[operations/mediawiki-config@master] wgConf: Remove unused 'fullLoadCallback' property assignment

https://gerrit.wikimedia.org/r/579643

Change 579645 merged by jenkins-bot:
[operations/mediawiki-config@master] wgConf: Assign $wgLocalDatabases normally instead of by-ref

https://gerrit.wikimedia.org/r/579645

Change 579651 merged by jenkins-bot:
[operations/mediawiki-config@master] Move $wgConf to CommonSettings.php (1/2)

https://gerrit.wikimedia.org/r/579651

Change 579652 merged by jenkins-bot:
[operations/mediawiki-config@master] Move $wgConf to CommonSettings.php (2/2)

https://gerrit.wikimedia.org/r/579652

Change 579812 merged by jenkins-bot:
[mediawiki/core@master] SiteConfiguration: Remove by-ref return from getLocalDatabases()

https://gerrit.wikimedia.org/r/579812

Today a change to a constant in MediaWiki core (change 684142, modified SCHEMA_COMPAT_WRITE_NEW from 0x10 to 0x100). This caused wmf-config to serve an unexpected combination state where configuration values still had the previous value, due to the config cache having retained the value the constant had when it was stored. The wmf-config cache only considered the mtime of InitialiseSettings.php (and logos.php).

This was fixed by @tstarling in change 704444 by adding another filemtime() check. This should have minimal overhead, but it is still a file operation (with presumably one or more syscalls) in an early and shared code path for all web requests.

When I last measured this in early 2020, it seemed the time to call wgConf was more or less on-par with the code for preparing to and reading from the config cache (2 mtimes, file content read, json parse, and various code in-between). I was already working on removing it based on that, but the added check adds a tiny drop toward the other end of the scale, in case other changes led to the cache being faster again.

Change 749762 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] wmf-config: Move loading/computing of $globals to a method for profiling

https://gerrit.wikimedia.org/r/749762

Change 749763 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] MWConfigCacheGenerator: Move siteFromDB() deeper down the stack

https://gerrit.wikimedia.org/r/749763

Change 749762 merged by jenkins-bot:

[operations/mediawiki-config@master] wmf-config: Move loading/computing of $globals to a method for profiling

https://gerrit.wikimedia.org/r/749762

Change 749763 merged by jenkins-bot:

[operations/mediawiki-config@master] MWConfigCacheGenerator: Move siteFromDB() deeper down the stack

https://gerrit.wikimedia.org/r/749763

Krinkle triaged this task as Medium priority.May 24 2022, 3:39 PM
Krinkle edited projects, added Performance-Team; removed Performance-Team (Radar).

Change 810147 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Factor out getTagsForWiki() for re-use

https://gerrit.wikimedia.org/r/810147

Change 810148 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] noc: Add support for dblists to wiki.php config viewer

https://gerrit.wikimedia.org/r/810148

Change 810147 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Factor out getTagsForWiki() for re-use

https://gerrit.wikimedia.org/r/810147

Change 810148 merged by jenkins-bot:

[operations/mediawiki-config@master] noc: Add support for dblists to wiki.php config viewer

https://gerrit.wikimedia.org/r/810148

Change 814011 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] tests: Move buildConfigCache.php to tests/

https://gerrit.wikimedia.org/r/814011

Change 814011 merged by jenkins-bot:

[operations/mediawiki-config@master] tests: Move buildConfigCache.php to tests/

https://gerrit.wikimedia.org/r/814011

Change 816029 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Add dblists-index.php for fast runtime lookups

https://gerrit.wikimedia.org/r/816029

Change 816089 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] [WIP] multiversion: Switch getTagsForWiki() to fast dblists-index.php

https://gerrit.wikimedia.org/r/816089

Change 818623 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] tests: Add test case to confirm private wiki settings work correctly

https://gerrit.wikimedia.org/r/818623

Change 818623 merged by jenkins-bot:

[operations/mediawiki-config@master] tests: Add test case to confirm private wiki settings work correctly

https://gerrit.wikimedia.org/r/818623

Change 816029 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Add dblists-index.php for fast runtime lookups

https://gerrit.wikimedia.org/r/816029

Change 816089 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Switch getTagsForWiki() to fast dblists-index.php

https://gerrit.wikimedia.org/r/816089

Change 816089 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Switch getTagsForWiki() to fast dblists-index.php

https://gerrit.wikimedia.org/r/816089

Using mwdebug1002, with one warmup after scap-pull (for php-opcache, statcache, etc.), and then rm -rf /tmp/mw-cache-* to remove the just-created tmp files, and then the profiled request. Repeated in full for the second state

XHGui: Before:

  • 11,659 µs (11.6ms) MWConfigCacheGenerator::getConfigGlobals
  • 8,090 µs (8.0ms) SiteConfiguration::getAll
  • 2,780 µs (2.7ms) MWMultiVersion::getTagsForWiki

XHGui: After:

  • 6,132 µs (6.1ms) MWConfigCacheGenerator::getConfigGlobals
  • 5,032 µs (5.0ms) SiteConfiguration::getAll (reduction here is a coincidence, attributed to variable VM performance?)
  • 19 µs (0.019ms) MWMultiVersion::getTagsForWiki

Change 579653 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Remove use of the $globals temporary JSON cache file

https://gerrit.wikimedia.org/r/579653

Change 818645 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Remove unused $cacheDir and writeToStaticCache (1/2)

https://gerrit.wikimedia.org/r/818645

Change 818646 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Remove unused $cacheDir (2/2)

https://gerrit.wikimedia.org/r/818646

Change 818648 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Untangle MWConfigCacheGenerator from CS.php (1/2)

https://gerrit.wikimedia.org/r/818648

Change 818649 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Untangle MWConfigCacheGenerator from CS.php (2/2)

https://gerrit.wikimedia.org/r/818649

Change 816089 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Switch getTagsForWiki() to fast dblists-index.php

https://gerrit.wikimedia.org/r/816089

Using mwdebug1002, […].

XHGui: Before:

  • 11,659 µs (11.6ms) MWConfigCacheGenerator::getConfigGlobals
  • 8,090 µs (8.0ms) SiteConfiguration::getAll
  • 2,780 µs (2.7ms) MWMultiVersion::getTagsForWiki

XHGui: After:

  • 6,132 µs (6.1ms) MWConfigCacheGenerator::getConfigGlobals
  • 5,032 µs (5.0ms) SiteConfiguration::getAll (reduction here is a coincidence, attributed to variable VM performance?)
  • 19 µs (0.019ms) MWMultiVersion::getTagsForWiki

The above was on mwdebug for the order-of-magnitude impact on the cache scenario broadly. That isolated test however was with Tideways on an mwdebug VM, and while it's good to measure outliers as well, I also wanted to quantify the impact on a live appserver, in particular after the next step that also removes the reading/writing of the tmp file.

Change 579653 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Remove use of the $globals temporary JSON cache file

https://gerrit.wikimedia.org/r/579653

Before
$ ab -n 100 -c 12 -H 'Host: en.wikipedia.org' -H 'X-Forwarded-Proto: https' 'http://mw1411.eqiad.wmnet/w/index.php?title=Special:BlankPage'
(warmup result, ignored)

$ ab -n 500 -c 12 -H 'Host: en.wikipedia.org' -H 'X-Forwarded-Proto: https' 'http://mw1411.eqiad.wmnet/w/index.php?title=Special:BlankPage'
  50%     94
  66%     96
  75%     98
  80%    100
  90%    104
  95%    108
  98%    115
  99%    120
 100%    196 (longest request)
After
$ ab -n 100 -c 12 -H 'Host: en.wikipedia.org' -H 'X-Forwarded-Proto: https' 'http://mw1411.eqiad.wmnet/w/index.php?title=Special:BlankPage'
(warmup result, ignored)

$ ab -n 500 -c 12 -H 'Host: en.wikipedia.org' -H 'X-Forwarded-Proto: https' 'http://mw1411.eqiad.wmnet/w/index.php?title=Special:BlankPage'
Percentage of the requests served within a certain time (ms)
  50%     88
  66%     92
  75%     94
  80%     95
  90%     99
  95%    104
  98%    106
  99%    111
 100%    150 (longest request)

I've repeated this a few times switching back and forth. The p99/100 are sometimes higher instead of lower, attributed to noise. The p50 was consistently lower, with the rest more or less the same.

Change 818645 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Remove unused $cacheDir and writeToStaticCache (1/2)

https://gerrit.wikimedia.org/r/818645

Change 818646 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Remove unused $cacheDir (2/2)

https://gerrit.wikimedia.org/r/818646

Change 819222 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] multiversion: Remove unused readFromStaticCache()

https://gerrit.wikimedia.org/r/819222

Change 819223 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] CommonSettings.php: Remove side-effect from getConfigGlobals (1/2)

https://gerrit.wikimedia.org/r/819223

Change 819224 had a related patch set uploaded (by Krinkle; author: Krinkle):

[operations/mediawiki-config@master] CommonSettings.php: Remove side-effect from getConfigGlobals (2/2)

https://gerrit.wikimedia.org/r/819224

Change 818648 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Untangle MWConfigCacheGenerator from CS.php (1/2)

https://gerrit.wikimedia.org/r/818648

Change 818649 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Untangle MWConfigCacheGenerator from CS.php (2/2)

https://gerrit.wikimedia.org/r/818649

Change 819222 merged by jenkins-bot:

[operations/mediawiki-config@master] multiversion: Remove unused readFromStaticCache()

https://gerrit.wikimedia.org/r/819222

Change 819223 merged by jenkins-bot:

[operations/mediawiki-config@master] CommonSettings.php: Remove side-effect from getConfigGlobals (1/2)

https://gerrit.wikimedia.org/r/819223

Change 819224 merged by jenkins-bot:

[operations/mediawiki-config@master] CommonSettings.php: Remove side-effect from getConfigGlobals (2/2)

https://gerrit.wikimedia.org/r/819224