Example #1
0
        $slaveIndexes[] = $i;
    }
}
/*
foreach ( wfGetLB()->mServers as $i => $server ) {
	wfGetLB()->mServers[$i]['flags'] |= DBO_DEBUG;
}*/
$reportingInterval = 1000;
if (isset($args[0])) {
    desyncFixPage($args[0]);
} else {
    $dbw = wfGetDB(DB_MASTER);
    $maxPage = $dbw->selectField('page', 'MAX(page_id)', false, 'fixDesync.php');
    $corrupt = findPageLatestCorruption();
    foreach ($corrupt as $id => $dummy) {
        desyncFixPage($id);
    }
    /*
    	for ( $i=1; $i <= $maxPage; $i++ ) {
    		desyncFixPage( $i );
    		if ( !($i % $reportingInterval) ) {
    			print "$i\n";
    		}
    	}*/
}
function findPageLatestCorruption()
{
    $desync = array();
    $n = 0;
    $dbw = wfGetDB(DB_MASTER);
    $masterIDs = array();
Example #2
0
    if ($wgLoadBalancer->isNonZeroLoad($i)) {
        $slaveIndexes[] = $i;
    }
}
/*
foreach ( $wgLoadBalancer->mServers as $i => $server ) {
	$wgLoadBalancer->mServers[$i]['flags'] |= DBO_DEBUG;
}*/
$reportingInterval = 1000;
if (isset($args[0])) {
    desyncFixPage($args[0]);
} else {
    $dbw =& wfGetDB(DB_MASTER);
    $maxPage = $dbw->selectField('page', 'MAX(page_id)', false, 'fixDesync.php');
    for ($i = 1; $i <= $maxPage; $i++) {
        desyncFixPage($i);
        if (!($i % $reportingInterval)) {
            print "{$i}\n";
        }
    }
}
function desyncFixPage($pageID)
{
    global $slaveIndexes;
    $fname = 'desyncFixPage';
    # Check for a corrupted page_latest
    $dbw =& wfGetDB(DB_MASTER);
    $realLatest = $dbw->selectField('page', 'page_latest', array('page_id' => $pageID), $fname);
    $found = false;
    foreach ($slaveIndexes as $i) {
        $db =& wfGetDB($i);