Skip to content

Commit 0c8c4c1

Browse files
authored
Merge pull request #3752 from RedisInsight/be/bugfix/RI-6047-fix-autodiscovery
fix initial autodiscovery
2 parents e965ce7 + 197c0b9 commit 0c8c4c1

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

redisinsight/api/src/modules/autodiscovery/autodiscovery.service.spec.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,20 +161,19 @@ describe('AutodiscoveryService', () => {
161161
});
162162

163163
it('should should not call addRedisDatabase when no endpoints found', async () => {
164-
await service['discoverDatabases']();
164+
await service['discoverDatabases'](mockSessionMetadata);
165165

166166
expect(addRedisDatabaseSpy).toHaveBeenCalledTimes(0);
167167
});
168168

169169
it('should should call addRedisDatabase 2 times', async () => {
170170
mocked(getAvailableEndpoints).mockResolvedValueOnce([mockAutodiscoveryEndpoint, mockAutodiscoveryEndpoint]);
171-
await service['discoverDatabases']();
171+
await service['discoverDatabases'](mockSessionMetadata);
172172

173173
expect(addRedisDatabaseSpy).toHaveBeenCalledTimes(2);
174174
expect(addRedisDatabaseSpy).toHaveBeenCalledWith(
175+
mockSessionMetadata,
175176
mockAutodiscoveryEndpoint,
176-
jasmine.anything(),
177-
jasmine.anything(),
178177
);
179178
});
180179
});

redisinsight/api/src/modules/autodiscovery/autodiscovery.service.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { v4 as uuidv4 } from 'uuid';
12
import { Injectable, Logger, OnModuleInit } from '@nestjs/common';
23
import { getAvailableEndpoints } from 'src/modules/autodiscovery/utils/autodiscovery.util';
34
import { convertRedisInfoReplyToObject } from 'src/utils';
@@ -51,7 +52,7 @@ export class AutodiscoveryService implements OnModuleInit {
5152
return;
5253
}
5354

54-
await this.discoverDatabases();
55+
await this.discoverDatabases(sessionMetadata);
5556
} catch (e) {
5657
this.logger.warn('Unable to discover redis database', e);
5758
}
@@ -62,12 +63,12 @@ export class AutodiscoveryService implements OnModuleInit {
6263
* Database alias will be "host:port"
6364
* @private
6465
*/
65-
private async discoverDatabases() {
66+
private async discoverDatabases(sessionMetadata: SessionMetadata) {
6667
const endpoints = await getAvailableEndpoints();
6768

6869
// Add redis databases or resolve after 1s to not block app startup for a long time
6970
await Promise.race([
70-
Promise.all(endpoints.map(this.addRedisDatabase.bind(this))),
71+
Promise.all(endpoints.map((endpoint) => this.addRedisDatabase(sessionMetadata, endpoint))),
7172
new Promise((resolve) => setTimeout(resolve, 1000)),
7273
]);
7374
}
@@ -82,7 +83,9 @@ export class AutodiscoveryService implements OnModuleInit {
8283
try {
8384
const client = await this.redisClientFactory.createClient(
8485
{
86+
databaseId: uuidv4(),
8587
context: ClientContext.Common,
88+
sessionMetadata,
8689
} as ClientMetadata,
8790
plainToClass(Database, endpoint),
8891
{ useRetry: false, connectionName: 'redisinsight-auto-discovery' },

0 commit comments

Comments
 (0)