diff --git a/packages/@n8n/config/src/configs/data-table.config.ts b/packages/@n8n/config/src/configs/data-table.config.ts index f9178eaaf1a..256fad3b318 100644 --- a/packages/@n8n/config/src/configs/data-table.config.ts +++ b/packages/@n8n/config/src/configs/data-table.config.ts @@ -9,9 +9,10 @@ export class DataTableConfig { /** * The percentage threshold at which a warning is triggered for data tables. * When the usage of a data table reaches or exceeds this value, a warning is issued. + * Defaults to 80% of maxSize if not explicitly set via environment variable. */ @Env('N8N_DATA_TABLES_WARNING_THRESHOLD_BYTES') - warningThreshold: number = 45 * 1024 * 1024; + warningThreshold?: number; /** * The duration in milliseconds for which the data table size is cached. diff --git a/packages/@n8n/config/test/config.test.ts b/packages/@n8n/config/test/config.test.ts index a84ae9c697c..99eec8cf166 100644 --- a/packages/@n8n/config/test/config.test.ts +++ b/packages/@n8n/config/test/config.test.ts @@ -54,7 +54,6 @@ describe('GlobalConfig', () => { editorBaseUrl: '', dataTable: { maxSize: 50 * 1024 * 1024, - warningThreshold: 45 * 1024 * 1024, sizeCheckCacheDuration: 60000, }, database: { diff --git a/packages/cli/src/modules/data-table/data-table-size-validator.service.ts b/packages/cli/src/modules/data-table/data-table-size-validator.service.ts index 4121d63d2ad..c705e633fc4 100644 --- a/packages/cli/src/modules/data-table/data-table-size-validator.service.ts +++ b/packages/cli/src/modules/data-table/data-table-size-validator.service.ts @@ -70,9 +70,13 @@ export class DataTableSizeValidator { } sizeToState(sizeBytes: number): DataTableSizeStatus { + const warningThreshold = + this.globalConfig.dataTable.warningThreshold ?? + Math.floor(0.8 * this.globalConfig.dataTable.maxSize); + if (sizeBytes >= this.globalConfig.dataTable.maxSize) { return 'error'; - } else if (sizeBytes >= this.globalConfig.dataTable.warningThreshold) { + } else if (sizeBytes >= warningThreshold) { return 'warn'; } return 'ok';