From 6aafe2dd1219905741d31b28def06ae8d25a31da Mon Sep 17 00:00:00 2001 From: fogelito Date: Sun, 14 Dec 2025 19:41:33 +0200 Subject: [PATCH 1/7] cleanup --- src/Appwrite/Platform/Workers/Migrations.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index a10ddc4904..5d880f9baf 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -418,6 +418,10 @@ class Migrations extends Action $this->handleCSVExportComplete($project, $migration, $queueForMails, $queueForRealtime); } } + + $transfer = null; + $source = null; + $destination = null; } } From f837e6be03e171ed16474f125077ff098cf4a280 Mon Sep 17 00:00:00 2001 From: fogelito Date: Mon, 15 Dec 2025 09:42:26 +0200 Subject: [PATCH 2/7] cleanups --- src/Appwrite/Platform/Workers/Migrations.php | 39 ++++++++++++-------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 5d880f9baf..ebcd199ff6 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -41,18 +41,13 @@ use Utopia\System\System; class Migrations extends Action { - protected Database $dbForProject; - - protected Database $dbForPlatform; - - protected Device $deviceForMigrations; - protected Device $deviceForFiles; - - protected Document $project; - - protected array $plan; - - protected array $platform; + protected ?Database $dbForProject; + protected ?Database $dbForPlatform; + protected ?Device $deviceForMigrations; + protected ?Device $deviceForFiles; + protected ?Document $project; + protected array $plan = []; + protected array $platform = []; /** * @var array @@ -60,9 +55,9 @@ class Migrations extends Action protected array $sourceReport = []; /** - * @var callable + * @var callable|null */ - protected $logError; + protected $logError = null; public static function getName(): string { @@ -130,7 +125,21 @@ class Migrations extends Action return; } - $this->processMigration($migration, $queueForRealtime, $queueForMails); + try { + $this->processMigration($migration, $queueForRealtime, $queueForMails); + } finally { + $this->dbForProject = null; + $this->dbForPlatform = null; + $this->project = null; + $this->logError = null; + $this->deviceForMigrations = null; + $this->deviceForFiles = null; + $this->plan = []; + $this->platform = []; + $this->sourceReport = []; + + gc_collect_cycles(); + } } /** From 91a3ee0c9d448ea07f16718cbe1b205bfc05cee5 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 09:24:47 +0200 Subject: [PATCH 3/7] Add File info --- src/Appwrite/Platform/Workers/Migrations.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index ebcd199ff6..779831c7d6 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -372,7 +372,9 @@ class Migrations extends Action $migration->setAttribute('status', 'completed'); $migration->setAttribute('stage', 'finished'); } catch (\Throwable $th) { - Console::error($th->getMessage()); + Console::error('Message: ' . $th->getMessage()); + Console::error('File: ' . $th->getFile()); + Console::error('Line: ' . $th->getLine()); Console::error($th->getTraceAsString()); if (! $migration->isEmpty()) { From 1c165b8c8d30e67eafa17abe869a6ba1029cfc9f Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 09:49:35 +0200 Subject: [PATCH 4/7] endpoint fallback --- src/Appwrite/Platform/Workers/Migrations.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 78ae7c4ced..93d29a00fa 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -153,7 +153,7 @@ class Migrations extends Action $database = null; $queries = []; - if ($credentials['endpoint'] === 'http://localhost/v1') { + if (($credentials['endpoint'] ?? null) === 'http://localhost/v1') { $platform = Config::getParam('platform', []); $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; $credentials['endpoint'] = $protocol . '://' . $platform['apiHostname'] . '/v1'; From b0b9c412fc155a65c95be0423a090aa5ded8082a Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:13:08 +0200 Subject: [PATCH 5/7] Add previous messages --- app/worker.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/worker.php b/app/worker.php index ce210d7c8b..cfbcc0ce4d 100644 --- a/app/worker.php +++ b/app/worker.php @@ -411,6 +411,13 @@ Server::setResource('logError', function (Registry $register, Document $project) $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); + if ($error->getPrevious() !== null) { + if ($error->getPrevious()->getMessage() != $error->getMessage()) { + $log->addExtra('Previous message', $error->getPrevious()->getMessage()); + } + $log->addExtra('Previous file', $error->getPrevious()->getFile()); + $log->addExtra('Previous line', $error->getPrevious()->getLine()); + } foreach (($extras ?? []) as $key => $value) { $log->addExtra($key, $value); @@ -431,6 +438,13 @@ Server::setResource('logError', function (Registry $register, Document $project) Console::warning("Failed: {$error->getMessage()}"); Console::warning($error->getTraceAsString()); + + if ($error->getPrevious() !== null) { + if ($error->getPrevious()->getMessage() != $error->getMessage()) { + Console::warning("Previous Failed: {$error->getPrevious()->getMessage()}"); + } + Console::warning("Previous File: {$error->getPrevious()->getFile()} Line: {$error->getPrevious()->getLine()}"); + } }; }, ['register', 'project']); From c6214ef4a844a5b90004467bed0ea1b109c56850 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:23:05 +0200 Subject: [PATCH 6/7] Camel case --- app/worker.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/worker.php b/app/worker.php index cfbcc0ce4d..468408e76d 100644 --- a/app/worker.php +++ b/app/worker.php @@ -413,10 +413,10 @@ Server::setResource('logError', function (Registry $register, Document $project) if ($error->getPrevious() !== null) { if ($error->getPrevious()->getMessage() != $error->getMessage()) { - $log->addExtra('Previous message', $error->getPrevious()->getMessage()); + $log->addExtra('previousMessage', $error->getPrevious()->getMessage()); } - $log->addExtra('Previous file', $error->getPrevious()->getFile()); - $log->addExtra('Previous line', $error->getPrevious()->getLine()); + $log->addExtra('previousFile', $error->getPrevious()->getFile()); + $log->addExtra('previousLine', $error->getPrevious()->getLine()); } foreach (($extras ?? []) as $key => $value) { From 5ba7501842c0b653974c5585c02fbe99f620e8b0 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:30:31 +0200 Subject: [PATCH 7/7] revert previous errors --- app/worker.php | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/app/worker.php b/app/worker.php index 468408e76d..ce210d7c8b 100644 --- a/app/worker.php +++ b/app/worker.php @@ -411,13 +411,6 @@ Server::setResource('logError', function (Registry $register, Document $project) $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); - if ($error->getPrevious() !== null) { - if ($error->getPrevious()->getMessage() != $error->getMessage()) { - $log->addExtra('previousMessage', $error->getPrevious()->getMessage()); - } - $log->addExtra('previousFile', $error->getPrevious()->getFile()); - $log->addExtra('previousLine', $error->getPrevious()->getLine()); - } foreach (($extras ?? []) as $key => $value) { $log->addExtra($key, $value); @@ -438,13 +431,6 @@ Server::setResource('logError', function (Registry $register, Document $project) Console::warning("Failed: {$error->getMessage()}"); Console::warning($error->getTraceAsString()); - - if ($error->getPrevious() !== null) { - if ($error->getPrevious()->getMessage() != $error->getMessage()) { - Console::warning("Previous Failed: {$error->getPrevious()->getMessage()}"); - } - Console::warning("Previous File: {$error->getPrevious()->getFile()} Line: {$error->getPrevious()->getLine()}"); - } }; }, ['register', 'project']);