summaryrefslogtreecommitdiffstats
path: root/lib/private/memcache/memcached.php
diff options
context:
space:
mode:
authorRobin McCorkell <rmccorkell@owncloud.com>2015-09-10 20:33:18 +0100
committerRobin McCorkell <rmccorkell@owncloud.com>2015-09-10 20:33:18 +0100
commit620173c792c88407e73587d0667358eda78d8ad5 (patch)
tree77f18b4e29f91b636031bab33b4808400273bc6d /lib/private/memcache/memcached.php
parentfb717f254fe81065912c13e0907ba374c8167f98 (diff)
parentb64e3f8db609b1f65ec23f467da7488abf92c05a (diff)
downloadnextcloud-server-620173c792c88407e73587d0667358eda78d8ad5.tar.gz
nextcloud-server-620173c792c88407e73587d0667358eda78d8ad5.zip
Merge pull request #18851 from owncloud/memcached-getallkeys-fallback
Fallback to complete Memcached flush if getAllKeys fails
Diffstat (limited to 'lib/private/memcache/memcached.php')
-rw-r--r--lib/private/memcache/memcached.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/private/memcache/memcached.php b/lib/private/memcache/memcached.php
index 1503851fd73..e99303ecc15 100644
--- a/lib/private/memcache/memcached.php
+++ b/lib/private/memcache/memcached.php
@@ -89,6 +89,11 @@ class Memcached extends Cache implements IMemcache {
public function clear($prefix = '') {
$prefix = $this->getNamespace() . $prefix;
$allKeys = self::$cache->getAllKeys();
+ if ($allKeys === false) {
+ // newer Memcached doesn't like getAllKeys(), flush everything
+ self::$cache->flush();
+ return true;
+ }
$keys = array();
$prefixLength = strlen($prefix);
foreach ($allKeys as $key) {