diff --git a/app/models/server/models/_oplogHandle.ts b/app/models/server/models/_oplogHandle.ts index aeb26c08f15ea..dc76ed3b433b3 100644 --- a/app/models/server/models/_oplogHandle.ts +++ b/app/models/server/models/_oplogHandle.ts @@ -1,5 +1,7 @@ + import { Meteor } from 'meteor/meteor'; import { MongoInternals } from 'meteor/mongo'; +import semver from 'semver'; import s from 'underscore.string'; import { MongoClient, Cursor, Timestamp, Db } from 'mongodb'; @@ -22,8 +24,8 @@ class OplogHandle { } const { mongo } = MongoInternals.defaultRemoteCollectionDriver(); - const { storageEngine } = await mongo.db.command({ serverStatus: 1 }); - return storageEngine?.name === 'wiredTiger'; + const { version, storageEngine } = await mongo.db.command({ serverStatus: 1 }); + return storageEngine?.name === 'wiredTiger' && semver.satisfies(semver.coerce(version), '>=3.6.0'); } async start(): Promise { diff --git a/package-lock.json b/package-lock.json index 3b2455825f34d..7a2766502e29e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8583,6 +8583,12 @@ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, + "@types/semver": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.3.tgz", + "integrity": "sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q==", + "dev": true + }, "@types/serve-static": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.5.tgz", @@ -18103,7 +18109,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": false, "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true, "optional": true @@ -18131,7 +18137,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": false, "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, @@ -18304,7 +18310,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": false, "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true diff --git a/package.json b/package.json index 0966101fb2fba..aae20588b9451 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "@types/moment-timezone": "^0.5.30", "@types/mongodb": "^3.5.26", "@types/react-dom": "^16.9.8", + "@types/semver": "^7.3.3", "@types/toastr": "^2.1.38", "@typescript-eslint/eslint-plugin": "^2.34.0", "@typescript-eslint/parser": "^2.34.0",