From: Ryan Lane Date: Sun, 26 Dec 2010 19:45:01 +0000 (+0000) Subject: Adding maintenance script to purge stale flagged revs entries from memcached (for... X-Git-Tag: 1.31.0-rc.0~33079 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22suivi_revisions%22%29%20.%20%22?a=commitdiff_plain;h=5e1997f491163467ae78975cf954f8f63a5f4bf8;p=lhc%2Fweb%2Fwiklou.git Adding maintenance script to purge stale flagged revs entries from memcached (for entries that have rev idsin the key). Should be made more generic. --- diff --git a/maintenance/purgeStaleMemcachedFlaggedRevs.php b/maintenance/purgeStaleMemcachedFlaggedRevs.php new file mode 100644 index 0000000000..679c1fb429 --- /dev/null +++ b/maintenance/purgeStaleMemcachedFlaggedRevs.php @@ -0,0 +1,39 @@ +selectField( 'text', 'max(old_id)' ); + $latestReplicatedTextId = $db->selectField( array( 'recentchanges', 'revision' ), 'rev_text_id', + array( 'rev_id = rc_this_oldid', "rc_timestamp < '20101225183000'"), 'purgeStaleMemcachedText', + array( 'ORDER BY' => 'rc_timestamp DESC' ) ); + $latestReplicatedTextId -= 100; # A bit of paranoia + + echo "Going to purge text entries from $latestReplicatedTextId to $maxTextId in $wgDBname\n"; + + for ( $i = $latestReplicatedTextId; $i < $maxTextId; $i++ ) { + $keys = array(); + $keys[] = wfMemcKey( 'flaggedrevs', 'countPending', $i ); + $keys[] = wfMemcKey( 'flaggedrevs', 'includesSynced', $i ); + $keys[] = wfMemcKey( 'flaggedrevs', 'overrideRedirect', $i ); + $keys[] = wfMemcKey( 'unreviewedPages', 'underReview', $i ); + + foreach ( $keys as $key ) { + while (1) { + if (! $wgMemc->delete( $key ) ) { + echo "Memcache delete for $key returned false\n"; + } + if ( $wgMemc->get( $key ) ) { + echo "There's still content in $key!\n"; + } else { + break; + } + } + } + } +} + +purgeStaleMemcachedText(); +