Page MenuHomePhabricator

Replace ILBFactory by injecting new Db-Service in Repo's pruneItemsPerSite maintenance script
Closed, ResolvedPublic

Description

The actual usage is very straight forward and the only unusual aspect is that this maintenance script uses a special load-group that requires special handling:

pruneItemsPerSite.php
$dbr = $loadBalancerFactory->getMainLB()->getConnection( DB_REPLICA, [ 'vslow' ] );
$dbw = $loadBalancerFactory->getMainLB()->getConnection( DB_PRIMARY );
pruneItemsPerSite.php
$loadBalancerFactory->waitForReplication();
IMPORTANT: When using load-groups (e.g. 'vslow' in ConnectionManager methods, it is important to remember that these replace the groups that were pre-defined by the DomainDbFactory. It should be considered whether the load groups that are usually added in the factory e.g. \Wikibase\Lib\Rdbms\DomainDb::LOAD_GROUP_FROM_REPO , need to be readded here again.

Event Timeline

We don't need to readd that, LoadBalancer::resolveGroups says it adds the default group anyway.

Change 700972 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[mediawiki/extensions/Wikibase@master] Repo: Replace ILBFactory with RepoDomainDb in pruneItemsPerSite.php

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

Change 700972 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Repo: Replace ILBFactory with RepoDomainDb in pruneItemsPerSite.php

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

Change 702342 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Remove unused lb factory in pruneItemsPerSite.php

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

Change 702342 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Remove unused lb factory in pruneItemsPerSite.php

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