From 86d49dfbbf8388fef4ffc5f09f911789977e2c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 14 May 2025 06:58:40 +0000 Subject: [PATCH 1/4] Prevent reusing same cache key for multiple documents --- src/Database/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index 6e2295185..87f4a19ab 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -6678,7 +6678,7 @@ public function getCacheKeys(string $collectionId, ?string $documentId = null, a $tenantSegment = $this->adapter->getTenant(); - if (isset($this->globalCollections[$collectionId])) { + if (isset($this->globalCollections[$collectionId]) && $collectionId !== self::METADATA) { $tenantSegment = null; } From 6a3d241f5acf10d67bc2212e530ce45fcfde5db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 14 May 2025 09:04:39 +0200 Subject: [PATCH 2/4] Apply suggestions from code review --- src/Database/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index 87f4a19ab..278a8d448 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -6678,7 +6678,7 @@ public function getCacheKeys(string $collectionId, ?string $documentId = null, a $tenantSegment = $this->adapter->getTenant(); - if (isset($this->globalCollections[$collectionId]) && $collectionId !== self::METADATA) { + if (isset($this->globalCollections[$collectionId]) && $collectionId === self::METADATA) { $tenantSegment = null; } From dbc6be828e451c03bc03f1b3ff3951df84b7751f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 14 May 2025 09:24:42 +0200 Subject: [PATCH 3/4] Update src/Database/Database.php --- src/Database/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index 278a8d448..c4873ec5b 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -6678,7 +6678,7 @@ public function getCacheKeys(string $collectionId, ?string $documentId = null, a $tenantSegment = $this->adapter->getTenant(); - if (isset($this->globalCollections[$collectionId]) && $collectionId === self::METADATA) { + if (isset($this->globalCollections[$documentId]) && $collectionId === self::METADATA) { $tenantSegment = null; } From e4157332fe4c937cc499a6fd9f3f278538daac6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 14 May 2025 09:35:08 +0200 Subject: [PATCH 4/4] Update src/Database/Database.php --- src/Database/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index c4873ec5b..485a2c24a 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -6678,7 +6678,7 @@ public function getCacheKeys(string $collectionId, ?string $documentId = null, a $tenantSegment = $this->adapter->getTenant(); - if (isset($this->globalCollections[$documentId]) && $collectionId === self::METADATA) { + if ($collectionId === self::METADATA && isset($this->globalCollections[$documentId])) { $tenantSegment = null; }