aboutsummaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/lib
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2022-12-20 12:01:25 +0100
committerCôme Chilliet <come.chilliet@nextcloud.com>2022-12-20 12:01:25 +0100
commit1ac2c748302b3ebe846bae8592a35abaf83ff41c (patch)
tree717165763cf13ca16d2cdc4d44995ab5e5e9850f /apps/user_ldap/lib
parent4d0403009d8449a88faf7ffc3c6df196c5ac9948 (diff)
downloadnextcloud-server-1ac2c748302b3ebe846bae8592a35abaf83ff41c.tar.gz
nextcloud-server-1ac2c748302b3ebe846bae8592a35abaf83ff41c.zip
Apply a longer TTL of 15min to falling back on backup server
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps/user_ldap/lib')
-rw-r--r--apps/user_ldap/lib/Connection.php9
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index 95ddd3fc51c..6700890c8c7 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -292,7 +292,7 @@ class Connection extends LDAPUtility {
* @param string $key
* @param mixed $value
*/
- public function writeToCache($key, $value): void {
+ public function writeToCache($key, $value, int $ttlOverride = null): void {
if (!$this->configured) {
$this->readConfiguration();
}
@@ -303,7 +303,8 @@ class Connection extends LDAPUtility {
}
$key = $this->getCacheKey($key);
$value = base64_encode(json_encode($value));
- $this->cache->set($key, $value, $this->configuration->ldapCacheTTL);
+ $ttl = $ttlOverride ?? $this->configuration->ldapCacheTTL;
+ $this->cache->set($key, $value, $ttl);
}
public function clearCache() {
@@ -635,8 +636,8 @@ class Connection extends LDAPUtility {
$this->ldap->errno($this->ldapConnectionRes) : -1;
if ($bindStatus && $error === 0 && !$forceBackupHost) {
//when bind to backup server succeeded and failed to main server,
- //skip contacting him until next cache refresh
- $this->writeToCache($overrideCacheKey, true);
+ //skip contacting it for 15min
+ $this->writeToCache($overrideCacheKey, true, 60 * 15);
}
return $bindStatus;