From 2a16ba177218d9acd5147a7758dcfe60f57c68dc Mon Sep 17 00:00:00 2001 From: Zalenski Egor <63463140+zalenskiSofteq@users.noreply.github.com> Date: Mon, 15 May 2023 15:19:32 +0800 Subject: [PATCH] #RI-4521 - [BE] Recommendation doesn't appear in the panel if user connects to another nodes --- .../big-amount-connected-clients.strategy.spec.ts | 7 +++++-- .../strategies/big-amount-connected-clients.strategy.ts | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.spec.ts b/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.spec.ts index 3cce906c52..0faeab9cfb 100644 --- a/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.spec.ts +++ b/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.spec.ts @@ -21,10 +21,13 @@ describe('BigAmountConnectedClientsStrategy', () => { }); describe('cluster', () => { - it('should return true when connectedClients more then 100 in the first node', async () => { + it('should return true when connectedClients more then 100 in one of the nodes', async () => { expect(await strategy.isRecommendationReached({ version: '1', - nodes: [{ version: '1', connectedClients: 101 }], + nodes: [ + { version: '1', connectedClients: 1 }, + { version: '2', connectedClients: 101 }, + ], })).toEqual({ isReached: true }); }); }); diff --git a/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.ts b/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.ts index 03afb23a05..8978ed2deb 100644 --- a/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.ts +++ b/redisinsight/api/src/modules/database-recommendation/scanner/strategies/big-amount-connected-clients.strategy.ts @@ -1,3 +1,4 @@ +import { maxBy } from 'lodash'; import { AbstractRecommendationStrategy } from 'src/modules/database-recommendation/scanner/strategies/abstract.recommendation.strategy'; import { IDatabaseRecommendationStrategyData } @@ -12,7 +13,7 @@ export class BigAmountConnectedClientsStrategy extends AbstractRecommendationStr */ async isRecommendationReached(info: RedisDatabaseInfoResponse): Promise { - const nodeInfo = info.nodes?.length ? info.nodes[0] : info; - return { isReached: nodeInfo.connectedClients > BIG_AMOUNT_OF_CONNECTED_CLIENTS_RECOMMENDATION_CLIENTS }; + const nodeInfo = info.nodes?.length ? maxBy(info.nodes, 'connectedClients') : info; + return { isReached: nodeInfo?.connectedClients > BIG_AMOUNT_OF_CONNECTED_CLIENTS_RECOMMENDATION_CLIENTS }; } }