Style and commenting tweaks to CategoryMembershipChangeJob

Also renamed safeWaitForPos() => safeWaitForMasterPos()

Change-Id: Ic89e2a0b17cd6e6ef09cf703bbbcea1988a5bde9
This commit is contained in:
Aaron Schulz 2016-01-30 10:19:36 -08:00
parent c32764db69
commit 39ef7941b0
2 changed files with 10 additions and 10 deletions

View file

@ -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
}

View file

@ -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' ),