From: Louis Chemineau Date: Wed, 13 Dec 2023 09:40:20 +0000 (+0100) Subject: Wrap metadata generation in try/catch X-Git-Tag: v29.0.0beta1~655^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F42198%2Fhead;p=nextcloud-server.git Wrap metadata generation in try/catch Signed-off-by: Louis Chemineau --- diff --git a/core/BackgroundJobs/GenerateMetadataJob.php b/core/BackgroundJobs/GenerateMetadataJob.php index f0dfdb8de22..393545b097d 100644 --- a/core/BackgroundJobs/GenerateMetadataJob.php +++ b/core/BackgroundJobs/GenerateMetadataJob.php @@ -33,6 +33,7 @@ use OCP\Files\IRootFolder; use OCP\FilesMetadata\IFilesMetadataManager; use OCP\IConfig; use OCP\IUserManager; +use Psr\Log\LoggerInterface; class GenerateMetadataJob extends TimedJob { public function __construct( @@ -42,6 +43,7 @@ class GenerateMetadataJob extends TimedJob { private IUserManager $userManager, private IFilesMetadataManager $filesMetadataManager, private IJobList $jobList, + private LoggerInterface $logger, ) { parent::__construct($time); @@ -102,10 +104,14 @@ class GenerateMetadataJob extends TimedJob { continue; } - $this->filesMetadataManager->refreshMetadata( - $node, - IFilesMetadataManager::PROCESS_LIVE | IFilesMetadataManager::PROCESS_BACKGROUND - ); + try { + $this->filesMetadataManager->refreshMetadata( + $node, + IFilesMetadataManager::PROCESS_LIVE | IFilesMetadataManager::PROCESS_BACKGROUND + ); + } catch (\Throwable $ex) { + $this->logger->warning("Error while generating metadata for fileid ".$node->getId(), ['exception' => $ex]); + } } } }