From d0dde424397715fec187a3464d669c77a99716c6 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Fri, 29 Mar 2019 15:10:02 -0700 Subject: [PATCH] Avoid use of deprecated "wikiId" parameter for FileBackend Also cleaned up the parameter/field naming for DBFileJournal Change-Id: I70f2a870706f0813311a694cb8ea31ced58dcabb --- includes/filebackend/FileBackendGroup.php | 12 +++++++++--- includes/filebackend/filejournal/DBFileJournal.php | 10 +++++----- includes/filerepo/FileBackendDBRepoWrapper.php | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/includes/filebackend/FileBackendGroup.php b/includes/filebackend/FileBackendGroup.php index a09160827b..a5860e2571 100644 --- a/includes/filebackend/FileBackendGroup.php +++ b/includes/filebackend/FileBackendGroup.php @@ -178,9 +178,15 @@ class FileBackendGroup { $config = $this->backends[$name]['config']; $config['class'] = $class; - $config += [ // set defaults + if ( isset( $config['domainId'] ) ) { + $domain = $config['domainId']; + } else { // @FIXME: this does not include the domain for b/c but it ideally should - 'wikiId' => wfWikiID(), // e.g. "my_wiki-en_" + $domain = $config['wikiId'] ?? wfWikiID(); + } + // Set default parameter values + $config += [ + 'domainId' => $domain, // e.g. "my_wiki-en_" 'mimeCallback' => [ $this, 'guessMimeInternal' ], 'obResetFunc' => 'wfResetOutputBuffers', 'streamMimeFunc' => [ StreamFile::class, 'contentTypeFromPath' ], @@ -194,7 +200,7 @@ class FileBackendGroup { } ]; $config['lockManager'] = - LockManagerGroup::singleton( $config['wikiId'] )->get( $config['lockManager'] ); + LockManagerGroup::singleton( $domain )->get( $config['lockManager'] ); $config['fileJournal'] = isset( $config['fileJournal'] ) ? FileJournal::factory( $config['fileJournal'], $name ) : FileJournal::factory( [ 'class' => NullFileJournal::class ], $name ); diff --git a/includes/filebackend/filejournal/DBFileJournal.php b/includes/filebackend/filejournal/DBFileJournal.php index 3dc9f18ec6..17cf8f0ca7 100644 --- a/includes/filebackend/filejournal/DBFileJournal.php +++ b/includes/filebackend/filejournal/DBFileJournal.php @@ -32,19 +32,19 @@ use Wikimedia\Rdbms\DBError; class DBFileJournal extends FileJournal { /** @var IDatabase */ protected $dbw; - - protected $wiki = false; // string; wiki DB name + /** @var string */ + protected $domain; /** * Construct a new instance from configuration. * * @param array $config Includes: - * 'wiki' : wiki name to use for LoadBalancer + * domain: database domain ID of the wiki */ protected function __construct( array $config ) { parent::__construct( $config ); - $this->wiki = $config['wiki']; + $this->domain = $config['domain'] ?? $config['wiki']; // b/c } /** @@ -184,7 +184,7 @@ class DBFileJournal extends FileJournal { if ( !$this->dbw ) { // Get a separate connection in autocommit mode $lb = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->newMainLB(); - $this->dbw = $lb->getConnection( DB_MASTER, [], $this->wiki ); + $this->dbw = $lb->getConnection( DB_MASTER, [], $this->domain ); $this->dbw->clearFlag( DBO_TRX ); } diff --git a/includes/filerepo/FileBackendDBRepoWrapper.php b/includes/filerepo/FileBackendDBRepoWrapper.php index b4454878cd..962cfd93f6 100644 --- a/includes/filerepo/FileBackendDBRepoWrapper.php +++ b/includes/filerepo/FileBackendDBRepoWrapper.php @@ -54,7 +54,7 @@ class FileBackendDBRepoWrapper extends FileBackend { /** @var FileBackend $backend */ $backend = $config['backend']; $config['name'] = $backend->getName(); - $config['wikiId'] = $backend->getWikiId(); + $config['domainId'] = $backend->getDomainId(); parent::__construct( $config ); $this->backend = $config['backend']; $this->repoName = $config['repoName']; -- 2.20.1