From 09240a268ffd771faa452bbc18895a89e0a7c21b Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Tue, 19 Mar 2019 09:01:24 -0700 Subject: [PATCH] Make EnqueueableDataUpdate use DB domain IDs This makes it consistent with what JobQueueGroup actually expects. Change-Id: Id6c6b3bf19fb1e85a2e3e231d216974d831a2f7c --- includes/deferred/DeferredUpdates.php | 3 ++- includes/deferred/EnqueueableDataUpdate.php | 2 +- includes/deferred/LinksDeletionUpdate.php | 4 ++-- includes/deferred/LinksUpdate.php | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/includes/deferred/DeferredUpdates.php b/includes/deferred/DeferredUpdates.php index 67b5490511..3043c1052f 100644 --- a/includes/deferred/DeferredUpdates.php +++ b/includes/deferred/DeferredUpdates.php @@ -263,7 +263,8 @@ class DeferredUpdates { if ( $mode === 'enqueue' && $update instanceof EnqueueableDataUpdate ) { // Run only the job enqueue logic to complete the update later $spec = $update->getAsJobSpecification(); - JobQueueGroup::singleton( $spec['wiki'] )->push( $spec['job'] ); + $domain = $spec['domain'] ?? $spec['wiki']; + JobQueueGroup::singleton( $domain )->push( $spec['job'] ); } elseif ( $update instanceof TransactionRoundDefiningUpdate ) { $update->doUpdate(); } else { diff --git a/includes/deferred/EnqueueableDataUpdate.php b/includes/deferred/EnqueueableDataUpdate.php index ffeb740d41..3a77f54156 100644 --- a/includes/deferred/EnqueueableDataUpdate.php +++ b/includes/deferred/EnqueueableDataUpdate.php @@ -9,7 +9,7 @@ */ interface EnqueueableDataUpdate { /** - * @return array (wiki => wiki ID, job => IJobSpecification) + * @return array (domain => DB domain ID, job => IJobSpecification) */ public function getAsJobSpecification(); } diff --git a/includes/deferred/LinksDeletionUpdate.php b/includes/deferred/LinksDeletionUpdate.php index 0743dbec2f..4444bac45c 100644 --- a/includes/deferred/LinksDeletionUpdate.php +++ b/includes/deferred/LinksDeletionUpdate.php @@ -225,8 +225,8 @@ class LinksDeletionUpdate extends DataUpdate implements EnqueueableDataUpdate { public function getAsJobSpecification() { return [ - 'wiki' => WikiMap::getWikiIdFromDbDomain( $this->getDB()->getDomainID() ), - 'job' => new JobSpecification( + 'domain' => $this->getDB()->getDomainID(), + 'job' => new JobSpecification( 'deleteLinks', [ 'pageId' => $this->pageId, 'timestamp' => $this->timestamp ], [ 'removeDuplicates' => true ], diff --git a/includes/deferred/LinksUpdate.php b/includes/deferred/LinksUpdate.php index 7a31e26253..045795e0cd 100644 --- a/includes/deferred/LinksUpdate.php +++ b/includes/deferred/LinksUpdate.php @@ -1205,7 +1205,7 @@ class LinksUpdate extends DataUpdate implements EnqueueableDataUpdate { } return [ - 'wiki' => WikiMap::getWikiIdFromDbDomain( $this->getDB()->getDomainID() ), + 'domain' => $this->getDB()->getDomainID(), 'job' => new JobSpecification( 'refreshLinksPrioritized', [ -- 2.20.1