Merge pull request #55383 from nextcloud/fix/noid/unique-cache-prefix-per-instanceid

fix(cache): Ensure unique global prefix per instanceid
pull/55388/head
Ferdinand Thiessen 2025-09-28 19:07:19 +07:00 committed by GitHub
commit 496d497f8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 2 deletions

@ -119,7 +119,10 @@ class Factory implements ICacheFactory {
$versions = $appConfig->getAppInstalledVersions();
}
$versions['core'] = implode('.', $this->serverVersion->getVersion());
$this->globalPrefix = hash('xxh128', implode(',', $versions));
// Include instanceid in the prefix, in case multiple instances use the same cache (e.g. same FPM pool)
$instanceid = $config->getValue('instanceid');
$this->globalPrefix = hash('xxh128', $instanceid . implode(',', $versions));
}
return $this->globalPrefix;
}
@ -132,7 +135,10 @@ class Factory implements ICacheFactory {
*/
public function withServerVersionPrefix(\Closure $closure): void {
$backupPrefix = $this->globalPrefix;
$this->globalPrefix = hash('xxh128', implode('.', $this->serverVersion->getVersion()));
// Include instanceid in the prefix, in case multiple instances use the same cache (e.g. same FPM pool)
$instanceid = \OCP\Server::get(SystemConfig::class)->getValue('instanceid');
$this->globalPrefix = hash('xxh128', $instanceid . implode('.', $this->serverVersion->getVersion()));
$closure($this);
$this->globalPrefix = $backupPrefix;
}