Skip to content

Commit 92fe9f2

Browse files
fix: upgrade mongodb (CR-25053) (#161)
* fix: downgrade mongodb to 4.17.1 * add beta suffix for sandbox test usage * bump mongodb * bump * fix mongo connection * add logs * upgrade mongoose * bump * mongodb connection * bump * add logs * bump * bump * remove uri log * upgrade to mongo 6.9 * test mongodb 6.3 * test mongodb 4.7 * use mongo 6.3 * improve stop * lint
1 parent 1ba6677 commit 92fe9f2

File tree

4 files changed

+71
-949
lines changed

4 files changed

+71
-949
lines changed

infra/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,10 @@ class Microservice {
119119
logger.info(`Starting shutdown... Timeout: ${gracePeriod}`);
120120
const promises = [];
121121
if (enabledComponents.includes('mongo')) {
122-
logger.info('About to stop mongo');
123-
promises.push(mongo.stop.bind(mongo));
122+
promises.push(async () => {
123+
logger.info('About to stop mongo');
124+
await mongo.stop();
125+
});
124126
}
125127
if (enabledComponents.includes('eventbus')) {
126128
logger.info('About to stop eventbus');

infra/mongo.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,39 @@ class Mongo {
99

1010
/**
1111
* starts the connection to mongo
12-
* @returns {Promise<void>}
1312
*/
1413
async init(config) {
1514
const clientSettings = { ...config.mongo.options };
16-
1715
const logger = require('cf-logs').Logger('codefresh:infra:mongo'); // eslint-disable-line
1816
this.logger = logger;
1917

2018
const { uri } = config.mongo;
2119
const dbName = config.mongo.dbName || getDbNameFromUri(uri);
22-
const client = await MongoClient.connect(uri, clientSettings);
20+
const client = new MongoClient(uri, clientSettings);
21+
logger.info(`Mongo db name ${dbName}`);
22+
23+
try {
24+
await client.connect();
25+
logger.info('Mongo driver connected');
26+
} catch (error) {
27+
logger.error('Error connecting to MongoDB:', error);
28+
throw error;
29+
}
30+
2331
this.client = client;
24-
this.db = client.db(dbName);
25-
logger.info('Mongo driver connected');
32+
this.db = this.client.db(dbName);
33+
logger.info('Mongo db initialized');
2634
}
2735

2836

2937
/**
3038
* stops the connection to mongo
31-
* @returns {Promise<void>}
3239
*/
33-
stop() {
40+
async stop() {
3441
if (!this.db) {
35-
return Promise.resolve();
42+
return;
3643
}
37-
return this.client.close();
44+
await this.client.close();
3845
}
3946

4047
collection(collectionName) {

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codefresh-io/service-base",
3-
"version": "6.0.0",
3+
"version": "7.0.0",
44
"main": "index.js",
55
"description": "",
66
"bin": {
@@ -52,7 +52,7 @@
5252
"js-yaml": "^3.13.1",
5353
"lodash": "4.17.21",
5454
"method-override": "^3.0.0",
55-
"mongodb": "^4.17.2",
55+
"mongodb": "6.3.0",
5656
"morgan": "^1.9.1",
5757
"node-uuid": "^1.4.8",
5858
"proxyquire": "^1.8.0",

0 commit comments

Comments
 (0)