From 12f12da28899c730fa59e23f07cdbc8fc048d904 Mon Sep 17 00:00:00 2001 From: Daria Date: Thu, 11 Sep 2025 11:14:02 +0300 Subject: [PATCH] feat(core): Add mysql pool size and increase it for CI (no-changelog) (#19347) --- .github/workflows/ci-postgres-mysql.yml | 2 ++ packages/@n8n/config/src/configs/database.config.ts | 4 ++++ packages/@n8n/config/test/config.test.ts | 1 + .../db/src/connection/__tests__/db-connection-options.test.ts | 3 +++ packages/@n8n/db/src/connection/db-connection-options.ts | 2 ++ 5 files changed, 12 insertions(+) diff --git a/.github/workflows/ci-postgres-mysql.yml b/.github/workflows/ci-postgres-mysql.yml index 96dde604db..0d5d3b536a 100644 --- a/.github/workflows/ci-postgres-mysql.yml +++ b/.github/workflows/ci-postgres-mysql.yml @@ -62,6 +62,7 @@ jobs: timeout-minutes: 20 env: DB_MYSQLDB_PASSWORD: password + DB_MYSQLDB_POOL_SIZE: 20 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -86,6 +87,7 @@ jobs: timeout-minutes: 20 env: DB_MYSQLDB_PASSWORD: password + DB_MYSQLDB_POOL_SIZE: 20 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 diff --git a/packages/@n8n/config/src/configs/database.config.ts b/packages/@n8n/config/src/configs/database.config.ts index 07ce78fb81..ba08b609c1 100644 --- a/packages/@n8n/config/src/configs/database.config.ts +++ b/packages/@n8n/config/src/configs/database.config.ts @@ -113,6 +113,10 @@ class MysqlConfig { /** MySQL database user */ @Env('DB_MYSQLDB_USER') user: string = 'root'; + + /** MySQL connection pool size */ + @Env('DB_MYSQLDB_POOL_SIZE') + poolSize: number = 10; } @Config diff --git a/packages/@n8n/config/test/config.test.ts b/packages/@n8n/config/test/config.test.ts index c3eaf26ae4..7b43c01d16 100644 --- a/packages/@n8n/config/test/config.test.ts +++ b/packages/@n8n/config/test/config.test.ts @@ -69,6 +69,7 @@ describe('GlobalConfig', () => { password: '', port: 3306, user: 'root', + poolSize: 10, }, postgresdb: { database: 'n8n', diff --git a/packages/@n8n/db/src/connection/__tests__/db-connection-options.test.ts b/packages/@n8n/db/src/connection/__tests__/db-connection-options.test.ts index f0d65ee74b..5e3f130050 100644 --- a/packages/@n8n/db/src/connection/__tests__/db-connection-options.test.ts +++ b/packages/@n8n/db/src/connection/__tests__/db-connection-options.test.ts @@ -157,6 +157,7 @@ describe('DbConnectionOptions', () => { port: 3306, user: 'root', password: 'password', + poolSize: 10, }; }); @@ -175,6 +176,7 @@ describe('DbConnectionOptions', () => { password: 'password', migrations: mysqlMigrations, timezone: 'Z', + poolSize: 10, }); }); @@ -193,6 +195,7 @@ describe('DbConnectionOptions', () => { password: 'password', migrations: mysqlMigrations, timezone: 'Z', + poolSize: 10, }); }); }); diff --git a/packages/@n8n/db/src/connection/db-connection-options.ts b/packages/@n8n/db/src/connection/db-connection-options.ts index acd9154b73..6934904df7 100644 --- a/packages/@n8n/db/src/connection/db-connection-options.ts +++ b/packages/@n8n/db/src/connection/db-connection-options.ts @@ -135,10 +135,12 @@ export class DbConnectionOptions { } private getMysqlConnectionOptions(dbType: 'mariadb' | 'mysqldb'): MysqlConnectionOptions { + const { mysqldb: mysqlConfig } = this.config; return { type: dbType === 'mysqldb' ? 'mysql' : 'mariadb', ...this.getCommonOptions(), ...this.getOverrides('mysqldb'), + poolSize: mysqlConfig.poolSize, migrations: mysqlMigrations, timezone: 'Z', // set UTC as default };