Fixed long memcached keys for infoaction.
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 6 Jun 2013 20:40:07 +0000 (13:40 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 6 Jun 2013 20:40:13 +0000 (13:40 -0700)
* One place was already using SHA1, so invalidation was broken.

Change-Id: Ie0d3b9274ed2e1c5a7b1616cd237a5e25fd99d12

includes/actions/InfoAction.php

index 7cd1f72..e3ea6fc 100644 (file)
@@ -66,8 +66,8 @@ class InfoAction extends FormlessAction {
                // Clear page info.
                $revision = WikiPage::factory( $title )->getRevision();
                if ( $revision !== null ) {
-                       $memcKey = wfMemcKey( 'infoaction', $title->getPrefixedText(), $revision->getId() );
-                       $wgMemc->delete( $memcKey );
+                       $key = wfMemcKey( 'infoaction', sha1( $title->getPrefixedText() ), $revision->getId() );
+                       $wgMemc->delete( $key );
                }
        }
 
@@ -185,14 +185,16 @@ class InfoAction extends FormlessAction {
         * @return array
         */
        protected function pageInfo() {
-               global $wgContLang, $wgRCMaxAge, $wgMemc, $wgUnwatchedPageThreshold, $wgPageInfoTransclusionLimit;
+               global $wgContLang, $wgRCMaxAge, $wgMemc,
+                       $wgUnwatchedPageThreshold, $wgPageInfoTransclusionLimit;
 
                $user = $this->getUser();
                $lang = $this->getLanguage();
                $title = $this->getTitle();
                $id = $title->getArticleID();
 
-               $memcKey = wfMemcKey( 'infoaction', sha1( $title->getPrefixedText() ), $this->page->getLatest() );
+               $memcKey = wfMemcKey( 'infoaction',
+                       sha1( $title->getPrefixedText() ), $this->page->getLatest() );
                $pageCounts = $wgMemc->get( $memcKey );
                if ( $pageCounts === false ) {
                        // Get page information that would be too "expensive" to retrieve by normal means