objectcache: fix failing tests for non-HashBagOStuff backends
[lhc/web/wiklou.git] / includes / libs / objectcache / MemcachedBagOStuff.php
index cfbf2b3..ff9dedf 100644 (file)
@@ -26,7 +26,7 @@
  *
  * @ingroup Cache
  */
-abstract class MemcachedBagOStuff extends BagOStuff {
+abstract class MemcachedBagOStuff extends MediumSpecificBagOStuff {
        function __construct( array $params ) {
                parent::__construct( $params );
 
@@ -34,20 +34,6 @@ abstract class MemcachedBagOStuff extends BagOStuff {
                $this->segmentationSize = $params['maxPreferedKeySize'] ?? 917504; // < 1MiB
        }
 
-       /**
-        * Fill in some defaults for missing keys in $params.
-        *
-        * @param array $params
-        * @return array
-        */
-       protected function applyDefaultParams( $params ) {
-               return $params + [
-                       'compress_threshold' => 1500,
-                       'connect_timeout' => 0.5,
-                       'debug' => false
-               ];
-       }
-
        /**
         * Construct a cache key.
         *
@@ -115,13 +101,12 @@ abstract class MemcachedBagOStuff extends BagOStuff {
         * discarded immediately because the expiry is in the past.
         * Clamp expires >30d at 30d, unless they're >=1e9 in which
         * case they are likely to really be absolute (1e9 = 2011-09-09)
-        * @param int $expiry
+        * @param int $exptime
         * @return int
         */
-       function fixExpiry( $expiry ) {
-               if ( $expiry > 2592000 && $expiry < 1000000000 ) {
-                       $expiry = 2592000;
-               }
-               return (int)$expiry;
+       protected function fixExpiry( $exptime ) {
+               return ( $exptime > self::TTL_MONTH && !$this->isRelativeExpiration( $exptime ) )
+                       ? self::TTL_MONTH
+                       : (int)$exptime;
        }
 }