From 68cb94f36528724f2a91390e88e15b87be7d4a28 Mon Sep 17 00:00:00 2001 From: Paul Rastoin <45004772+prastoin@users.noreply.github.com> Date: Thu, 20 Feb 2025 16:45:21 +0100 Subject: [PATCH] [BUGFIX] Call and await `destroyDataSourceForWorkspace` to avoid killing poor pod (#10364) # Motivations Upgrade migration is not possible atm in production because running over all workspaces cause cpu raise leading to pod termination --- .../0-41/0-41-add-context-to-actor-composite-type.ts | 4 +++- .../upgrade-version/0-41/0-41-remove-duplicate-mcmas.ts | 4 +++- .../upgrade-version/0-41/0-41-seed-workflow-views.command.ts | 4 +++- .../0-42/0-42-fix-body-v2-view-field-position.command.ts | 4 ++++ .../upgrade-version/0-42/0-42-limit-amount-of-view-field.ts | 4 ++++ .../0-42-standardization-of-actor-composite-context-type.ts | 4 +++- 6 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-add-context-to-actor-composite-type.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-add-context-to-actor-composite-type.ts index 1e5f4eca5..e7a78fed2 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-add-context-to-actor-composite-type.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-add-context-to-actor-composite-type.ts @@ -125,7 +125,9 @@ export class AddContextToActorCompositeTypeCommand extends ActiveWorkspacesComma ); } - this.twentyORMGlobalManager.destroyDataSourceForWorkspace(workspaceId); + await this.twentyORMGlobalManager.destroyDataSourceForWorkspace( + workspaceId, + ); } private async addContextColumn( diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-remove-duplicate-mcmas.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-remove-duplicate-mcmas.ts index d1233ce94..4d895fa61 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-remove-duplicate-mcmas.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-remove-duplicate-mcmas.ts @@ -91,6 +91,8 @@ export class RemoveDuplicateMcmasCommand extends ActiveWorkspacesCommandRunner { } } - this.twentyORMGlobalManager.destroyDataSourceForWorkspace(workspaceId); + await this.twentyORMGlobalManager.destroyDataSourceForWorkspace( + workspaceId, + ); } } diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-seed-workflow-views.command.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-seed-workflow-views.command.ts index ae4583c41..a0286d522 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-seed-workflow-views.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-41/0-41-seed-workflow-views.command.ts @@ -78,7 +78,9 @@ export class SeedWorkflowViewsCommand extends ActiveWorkspacesCommandRunner { dryRun, ); - this.twentyORMGlobalManager.destroyDataSourceForWorkspace(workspaceId); + await this.twentyORMGlobalManager.destroyDataSourceForWorkspace( + workspaceId, + ); } private async seedWorkflowViews( diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-fix-body-v2-view-field-position.command.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-fix-body-v2-view-field-position.command.ts index 28ce1f48e..e634cc7f1 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-fix-body-v2-view-field-position.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-fix-body-v2-view-field-position.command.ts @@ -185,5 +185,9 @@ export class FixBodyV2ViewFieldPositionCommand extends ActiveWorkspacesCommandRu } catch (error) { this.logger.log(chalk.red(`Error in workspace ${workspaceId}`)); } + + await this.twentyORMGlobalManager.destroyDataSourceForWorkspace( + workspaceId, + ); } } diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-limit-amount-of-view-field.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-limit-amount-of-view-field.ts index b6e23867c..39bc9e30b 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-limit-amount-of-view-field.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-limit-amount-of-view-field.ts @@ -87,6 +87,10 @@ export class LimitAmountOfViewFieldCommand extends ActiveWorkspacesCommandRunner error, ); throw error; + } finally { + await this.twentyORMGlobalManager.destroyDataSourceForWorkspace( + workspaceId, + ); } } diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-standardization-of-actor-composite-context-type.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-standardization-of-actor-composite-context-type.ts index 95d45cf6c..701850440 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-standardization-of-actor-composite-context-type.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-42/0-42-standardization-of-actor-composite-context-type.ts @@ -109,6 +109,8 @@ export class StandardizationOfActorCompositeContextTypeCommand extends ActiveWor ); } - this.twentyORMGlobalManager.destroyDataSourceForWorkspace(workspaceId); + await this.twentyORMGlobalManager.destroyDataSourceForWorkspace( + workspaceId, + ); } }