wiki.techinc.nl/tests/phpunit/includes/objectcache/SqlBagOStuffMultiPrimaryIntegrationTest.php
Tim Starling bcfb90cdd7 objectcache: Simplify SqlBagOStuff class configuration
Substantive changes:

* Remove the parameters globalKeyLB and localKeyLB, not needed in
  production, probably not used anywhere.
* Add a "cluster" parameter, for production.
* Don't call markServerDown() in LoadBalancer mode.

Style changes:

* Document config parameters separately from constructor parameters, to
  clarify the role of the wiring normalisation.
* Inject a load balancer from ObjectCache to SqlBagOStuff, using a
  closure to defer construction.
* Clarify the split between LoadBalancer mode and server array mode by
  introducing a useLB property. Use it instead of special shard index
  values and array counts.
* multiPrimaryModeType wasn't needed anywhere and wasn't available in
  the constructor, so it just became a boolean multiPrimaryMode.
* Add a test covering most of the server array (!useLB) branches.

Bug: T212129
Change-Id: Ib097082efb40b514a29a42286dc362f2e3743ee4
2022-05-27 15:04:43 +00:00

18 lines
392 B
PHP

<?php
/**
* @group BagOStuff
* @group Database
* @covers SqlBagOStuff
*/
class SqlBagOStuffMultiPrimaryIntegrationTest extends BagOStuffTestBase {
protected function newCacheInstance() {
return ObjectCache::newFromParams( [
'class' => SqlBagOStuff::class,
'loggroup' => 'SQLBagOStuff',
'multiPrimaryMode' => true,
'purgePeriod' => 0,
'reportDupes' => false
] );
}
}