Style and commenting tweaks to CategoryMembershipChangeJob
Also renamed safeWaitForPos() => safeWaitForMasterPos() Change-Id: Ic89e2a0b17cd6e6ef09cf703bbbcea1988a5bde9
This commit is contained in:
parent
c32764db69
commit
39ef7941b0
2 changed files with 10 additions and 10 deletions
|
|
@ -1385,7 +1385,7 @@ class LoadBalancer {
|
|||
* @return bool Success
|
||||
* @since 1.27
|
||||
*/
|
||||
public function safeWaitForPos( IDatabase $conn, $pos = false, $timeout = 10 ) {
|
||||
public function safeWaitForMasterPos( IDatabase $conn, $pos = false, $timeout = 10 ) {
|
||||
if ( $this->getServerCount() == 1 || !$conn->getLBInfo( 'slave' ) ) {
|
||||
return true; // server is not a slave DB
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ class CategoryMembershipChangeJob extends Job {
|
|||
}
|
||||
|
||||
$dbw = wfGetDB( DB_MASTER );
|
||||
|
||||
// Use a named lock so that jobs for this page see each others' changes
|
||||
$lockKey = "CategoryMembershipUpdates:{$page->getId()}";
|
||||
$scopedLock = $dbw->getScopedLockAndFlush( $lockKey, __METHOD__, 10 );
|
||||
|
|
@ -58,19 +57,20 @@ class CategoryMembershipChangeJob extends Job {
|
|||
return false;
|
||||
}
|
||||
|
||||
$dbr = wfGetDB( DB_SLAVE, array( 'recentchanges' ) );
|
||||
// Wait till the slave is caught up so that jobs for this page see each others' changes
|
||||
if ( !wfGetLB()->safeWaitForMasterPos( $dbr ) ) {
|
||||
$this->setLastError( "Timed out while waiting for slave to catch up" );
|
||||
return false;
|
||||
}
|
||||
// Clear any stale REPEATABLE-READ snapshot
|
||||
$dbr->commit( __METHOD__, 'flush' );
|
||||
|
||||
$cutoffUnix = wfTimestamp( TS_UNIX, $this->params['revTimestamp'] );
|
||||
// Using ENQUEUE_FUDGE_SEC handles jobs inserted out of revision order due to the delay
|
||||
// between COMMIT and actual enqueueing of the CategoryMembershipChangeJob job.
|
||||
$cutoffUnix -= self::ENQUEUE_FUDGE_SEC;
|
||||
|
||||
$dbr = wfGetDB( DB_SLAVE, array( 'recentchanges' ) );
|
||||
if ( !wfGetLB()->safeWaitForPos( $dbr ) ) {
|
||||
$this->setLastError( "Timed out while waiting for slave to catch up" );
|
||||
return false;
|
||||
}
|
||||
|
||||
$dbr->commit( __METHOD__, 'flush' );
|
||||
|
||||
// Get the newest revision that has a SRC_CATEGORIZE row...
|
||||
$row = $dbr->selectRow(
|
||||
array( 'revision', 'recentchanges' ),
|
||||
|
|
|
|||
Loading…
Reference in a new issue