MDL-36363 cache: fixed issue with double parsing keys for stacked loaders
authorSam Hemelryk <sam@moodle.com>
Wed, 30 Jan 2013 20:10:57 +0000 (09:10 +1300)
committerSam Hemelryk <sam@moodle.com>
Wed, 30 Jan 2013 20:10:57 +0000 (09:10 +1300)
cache/classes/loaders.php

index 028a31e..4835360 100644 (file)
@@ -314,7 +314,10 @@ class cache implements cache_loader {
                 cache_helper::record_cache_miss($this->storetype, $this->definition->get_id());
             }
             if ($this->loader !== false) {
-                $result = $this->loader->get($parsedkey);
+                // We must pass the original (unparsed) key to the next loader in the chain.
+                // The next loader will parse the key as it sees fit. It may be parsed differently
+                // depending upon the capabilities of the store associated with the loader.
+                $result = $this->loader->get($key);
             } else if ($this->datasource !== false) {
                 $result = $this->datasource->load_for_cache($key);
             }