From 783c83173f0e1d7020dda5281282bc1160c1f3df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gast=C3=B3n=20Fournier?= Date: Tue, 2 Apr 2024 11:25:38 +0200 Subject: [PATCH] chore: when some promise fails others might hang and leave open conns (#6636) This was identified during some tests where we noticed jest did not complete properly (notice how after linking unleash-server to this commit it didn't have that issue): ![image](https://github.com/Unleash/unleash/assets/455064/306e57b8-6473-459a-8104-7223d1de40c3) --- src/lib/features/feature-toggle/feature-toggle-service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/features/feature-toggle/feature-toggle-service.ts b/src/lib/features/feature-toggle/feature-toggle-service.ts index 1aec0f677f..90861baffe 100644 --- a/src/lib/features/feature-toggle/feature-toggle-service.ts +++ b/src/lib/features/feature-toggle/feature-toggle-service.ts @@ -107,6 +107,7 @@ import type { FeatureToggleInsert } from './feature-toggle-store'; import ArchivedFeatureError from '../../error/archivedfeature-error'; import { FEATURES_CREATED_BY_PROCESSED } from '../../metric-events'; import type { EventEmitter } from 'stream'; +import { allSettledWithRejection } from '../../util/allSettledWithRejection'; interface IFeatureContext { featureName: string; @@ -1717,7 +1718,7 @@ class FeatureToggleService { user?: IUser, shouldActivateDisabledStrategies = false, ): Promise { - await Promise.all( + await allSettledWithRejection( featureNames.map((featureName) => this.updateEnabled( project,