From c4d4ea2a09b0c2697ae4e817a2b160e2bd547e5e Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Fri, 7 Jan 2022 13:40:27 -0300 Subject: [PATCH] Improve primary detection mechanism to be compatible with older mongodb instances Generate 2.6 beta 2 --- packages/allow-deny/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/mongo_driver.js | 9 ++++++--- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/tinytest/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 8 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/allow-deny/package.js b/packages/allow-deny/package.js index 28c427dd3f..a74a1f6ad6 100644 --- a/packages/allow-deny/package.js +++ b/packages/allow-deny/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'allow-deny', - version: '1.1.1-beta260.1', + version: '1.1.1-beta260.2', // Brief, one-line summary of the package. summary: 'Implements functionality for allow/deny and client-side db operations', // URL to the Git repository containing the source code for this package. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index c27c9b18fa..8be0089157 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '2.6.0-beta.1', + version: '2.6.0-beta.2', }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index d3a8e5006b..2d17886a3b 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '1.8.0-beta260.1' + version: '1.8.0-beta260.2' }); Package.onUse(api => { diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index a065d5a816..e7507d5417 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -195,12 +195,15 @@ MongoConnection = function (url, options) { try { const helloDocument = db.admin().command({hello: 1}).await(); // First, figure out what the current primary is, if any. - if (helloDocument.isWritablePrimary) { + if (helloDocument.primary) { self._primary = helloDocument.primary; } }catch(_){ - if (db.serverConfig && db.serverConfig.isMasterDoc) { - self._primary = db.serverConfig.isMasterDoc.primary; + // ismaster command is supported on older mongodb versions + const isMasterDocument = db.admin().command({ismaster:1}).await(); + // First, figure out what the current primary is, if any. + if (isMasterDocument.primary) { + self._primary = isMasterDocument.primary; } } diff --git a/packages/mongo/package.js b/packages/mongo/package.js index b85d03b378..0a363814e1 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.14.0-beta260.1' + version: '1.14.0-beta260.2' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 372fa8866c..f5bbe3a876 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "4.3.0-beta260.1", + version: "4.3.0-beta260.2", documentation: null }); diff --git a/packages/tinytest/package.js b/packages/tinytest/package.js index c8fb88c09f..94d5f4da7b 100644 --- a/packages/tinytest/package.js +++ b/packages/tinytest/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Tiny testing framework", - version: '1.2.1-beta260.1' + version: '1.2.1-beta260.2' }); Package.onUse(function (api) { diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 36027f2923..7e1c554c9d 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.6-beta.1", + "version": "2.6-beta.2", "recommended": false, "official": false, "description": "Meteor experimental release"