filerepo: clean up remote description cache keys
authorAaron Schulz <aschulz@wikimedia.org>
Wed, 27 Jun 2018 07:24:00 +0000 (08:24 +0100)
committerAaron Schulz <aschulz@wikimedia.org>
Wed, 27 Jun 2018 07:25:47 +0000 (08:25 +0100)
Hash the file name portion and make the string constant portions
more relevant to what the keys are actually used for (e.g. there
is no URL parameter in the key)

Bug: T198279
Change-Id: Idf6f97db26f5be291cdd3a50a91346677fe9c3e6

includes/filerepo/file/File.php
includes/filerepo/file/ForeignDBFile.php

index 546b78a..370ebb4 100644 (file)
@@ -2068,9 +2068,8 @@ abstract class File implements IDBAccessObject {
                        $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
                        $key = $this->repo->getLocalCacheKey(
                                'RemoteFileDescription',
-                               'url',
                                $lang->getCode(),
-                               $this->getName()
+                               md5( $this->getName() )
                        );
 
                        return $cache->getWithSetCallback(
index 05df45b..7a982bd 100644 (file)
@@ -155,10 +155,9 @@ class ForeignDBFile extends LocalFile {
 
                return $cache->getWithSetCallback(
                        $this->repo->getLocalCacheKey(
-                               'RemoteFileDescription',
-                               'url',
+                               'ForeignFileDescription',
                                $lang->getCode(),
-                               $this->getName(),
+                               md5( $this->getName() ),
                                $touched
                        ),
                        $this->repo->descriptionCacheExpiry ?: $cache::TTL_UNCACHEABLE,