$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();
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);