From d397e7da3d7be895d94593522a40354482fac5eb Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 9 Jun 2026 07:17:59 +0200 Subject: [PATCH] fix(comments): Use capped memory cache for comments Signed-off-by: Joas Schilling --- lib/private/Comments/Manager.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index b4922f967e5..45b9134f73f 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -8,6 +8,7 @@ namespace OC\Comments; use OCP\AppFramework\Utility\ITimeFactory; +use OCP\Cache\CappedMemoryCache; use OCP\Comments\CommentsEvent; use OCP\Comments\Events\BeforeCommentUpdatedEvent; use OCP\Comments\Events\CommentAddedEvent; @@ -33,8 +34,7 @@ use OCP\Util; use Psr\Log\LoggerInterface; class Manager implements ICommentsManager { - /** @var IComment[] */ - protected array $commentsCache = []; + protected CappedMemoryCache $commentsCache; /** @var \Closure[] */ protected array $eventHandlerClosures = []; @@ -55,6 +55,7 @@ class Manager implements ICommentsManager { protected IRootFolder $rootFolder, protected IEventDispatcher $eventDispatcher, ) { + $this->commentsCache = new CappedMemoryCache(256); } /** @@ -1322,7 +1323,7 @@ class Manager implements ICommentsManager { ->setParameter('id', $actorId); $affectedRows = $qb->executeStatement(); - $this->commentsCache = []; + $this->commentsCache->clear(); return true; } @@ -1342,7 +1343,7 @@ class Manager implements ICommentsManager { ->setParameter('id', $objectId); $affectedRows = $qb->executeStatement(); - $this->commentsCache = []; + $this->commentsCache->clear(); return true; } @@ -1601,7 +1602,7 @@ class Manager implements ICommentsManager { $affectedRows = $qb->executeStatement(); - $this->commentsCache = []; + $this->commentsCache->clear(); return $affectedRows > 0; }