From 7643a5438a1ce6bd33761b8d1bcab30d34ea61cb Mon Sep 17 00:00:00 2001 From: Anupam Kumar Date: Fri, 6 Sep 2024 17:23:31 +0530 Subject: fix(TaskProcessing): increase error_message column length Signed-off-by: Anupam Kumar --- core/Migrations/Version30000Date20240906095113.php | 40 ++++++++++++++++++++++ lib/private/TaskProcessing/Manager.php | 5 +-- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 core/Migrations/Version30000Date20240906095113.php diff --git a/core/Migrations/Version30000Date20240906095113.php b/core/Migrations/Version30000Date20240906095113.php new file mode 100644 index 00000000000..4991aecb078 --- /dev/null +++ b/core/Migrations/Version30000Date20240906095113.php @@ -0,0 +1,40 @@ +getTable('taskprocessing_tasks'); + $column = $table->getColumn('error_message'); + + if ($column->getLength() < 4000) { + $column->setLength(4000); + } + + return $schema; + } +} diff --git a/lib/private/TaskProcessing/Manager.php b/lib/private/TaskProcessing/Manager.php index 5316414e8fb..988b34491c1 100644 --- a/lib/private/TaskProcessing/Manager.php +++ b/lib/private/TaskProcessing/Manager.php @@ -891,7 +891,8 @@ class Manager implements IManager { if ($error !== null) { $task->setStatus(Task::STATUS_FAILED); $task->setEndedAt(time()); - $task->setErrorMessage($error); + // truncate error message to 1000 characters + $task->setErrorMessage(mb_substr($error, 0, 1000)); $this->logger->warning('A TaskProcessing ' . $task->getTaskTypeId() . ' task with id ' . $id . ' failed with the following message: ' . $error); } elseif ($result !== null) { $taskTypes = $this->getAvailableTaskTypes(); @@ -956,7 +957,7 @@ class Manager implements IManager { $this->taskMapper->update($taskEntity); $this->runWebhook($task); } catch (\OCP\DB\Exception $e) { - throw new \OCP\TaskProcessing\Exception\Exception('There was a problem finding the task', 0, $e); + throw new \OCP\TaskProcessing\Exception\Exception($e->getMessage()); } if ($task->getStatus() === Task::STATUS_SUCCESSFUL) { $event = new TaskSuccessfulEvent($task); -- cgit v1.2.3