Skip to content

Commit

Permalink
Upgrade to Mongo 3.6
Browse files Browse the repository at this point in the history
Update the Meteor Tool to use Mongo 3.6.2 for 64-bit OS'
and Mongo 3.2.18 for 32-bit OS'. A few important mentions:

- As of Mongo 3.6, all Mongo binary downloads include
  SSL - there is no longer a non-SSL based download bundle
  (so it's a bit bigger, but that shouldn't be an issue).
- Using the `--nojournal` option with WiredTiger based
  replica sets is no longer supported (see
  https://jira.mongodb.org/browse/SERVER-30760). The
  `--nojournal` flag was added in
  bcfe072
  to help reduce the amount of disk space used by Mongo,
  but since this option is no longer supported, we'll
  have to live with the extra disk space usage.
  • Loading branch information
hwillson authored and abernix committed Jan 24, 2018
1 parent 1fec23f commit fce09ac
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 20 deletions.
3 changes: 3 additions & 0 deletions History.md
Expand Up @@ -340,6 +340,9 @@
[Issue #5127](https://github.com/meteor/meteor/issues/5127)
[PR #9512](https://github.com/meteor/meteor/pull/9512)

* Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for
32-bit OS'.

## v1.6.0.1, 2017-12-08

* Node has been upgraded to version
Expand Down
12 changes: 6 additions & 6 deletions packages/npm-mongo/.npm/package/npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/npm-mongo/package.js
Expand Up @@ -3,12 +3,12 @@

Package.describe({
summary: "Wrapper around the mongo npm package",
version: "2.2.33",
version: "2.2.34",
documentation: null
});

Npm.depends({
mongodb: "2.2.33"
mongodb: "2.2.34"
});

Package.onUse(function (api) {
Expand Down
6 changes: 3 additions & 3 deletions scripts/admin/test-packages-with-mongo-versions.rb
Expand Up @@ -7,8 +7,8 @@
require 'tmpdir'

mongo_install_urls = {
"3.4.9" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.9.tgz",
"3.2.15" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.15.tgz",
"3.6.2" => "https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.2.tgz",
"3.2.18" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.15.tgz",
"3.0.5" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz",
"2.6.10" => "http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.10.tgz"
}
Expand All @@ -29,7 +29,7 @@

test_env = "TEST_PACKAGES_EXCLUDE=\"less\""

["3.4.9", "3.2.15", "3.0.5", "2.6.10"].each do |mongo_version|
["3.6.2", "3.2.18", "3.0.5", "2.6.10"].each do |mongo_version|
puts "Installing and testing with Mongo #{mongo_version}..."

Dir.mktmpdir "mongo_install" do |mongo_install_dir|
Expand Down
4 changes: 2 additions & 2 deletions scripts/build-dev-bundle-common.sh
Expand Up @@ -6,8 +6,8 @@ set -u
UNAME=$(uname)
ARCH=$(uname -m)
NODE_VERSION=8.9.4
MONGO_VERSION_64BIT=3.4.10
MONGO_VERSION_32BIT=3.2.15
MONGO_VERSION_64BIT=3.6.2
MONGO_VERSION_32BIT=3.2.18
NPM_VERSION=5.6.0

# If we built Node from source on Jenkins, this is the build number.
Expand Down
6 changes: 3 additions & 3 deletions scripts/generate-dev-bundle.ps1
Expand Up @@ -219,11 +219,11 @@ Function Add-NodeAndNpm {
}

Function Add-Mongo {
# Mongo 3.4 no longer supports 32-bit (x86) architectures, so we package
# the latest 3.2 version of Mongo for those builds and 3.4+ for x64.
# Mongo >= 3.4 no longer supports 32-bit (x86) architectures, so we package
# the latest 3.2 version of Mongo for those builds and >= 3.4 for x64.
$mongo_filenames = @{
windows_x86 = "mongodb-win32-i386-${MONGO_VERSION_32BIT}"
windows_x64 = "mongodb-win32-x86_64-2008plus-${MONGO_VERSION_64BIT}"
windows_x64 = "mongodb-win32-x86_64-2008plus-ssl-${MONGO_VERSION_64BIT}"
}

$previousCwd = $PWD
Expand Down
13 changes: 12 additions & 1 deletion scripts/generate-dev-bundle.sh
Expand Up @@ -49,11 +49,22 @@ extractNodeFromTarGz || downloadNodeFromS3 || downloadOfficialNode
# by default. Will download a 32-bit version of Mongo if using a 32-bit based
# OS.
MONGO_VERSION=$MONGO_VERSION_64BIT
MONGO_SSL="-ssl"

# The MongoDB "Generic" Linux option is not offered with SSL, which is reserved
# for named distributions. This works out better since the SSL support adds
# size to the dev bundle though isn't necessary for local development.
if [ $UNAME = "Linux" ]; then
MONGO_SSL=""
fi

if [ $ARCH = "i686" ]; then
MONGO_VERSION=$MONGO_VERSION_32BIT
fi

MONGO_NAME="mongodb-${OS}-${ARCH}-${MONGO_VERSION}"
MONGO_TGZ="${MONGO_NAME}.tgz"
MONGO_NAME_SSL="mongodb-${OS}${MONGO_SSL}-${ARCH}-${MONGO_VERSION}"
MONGO_TGZ="${MONGO_NAME_SSL}.tgz"
MONGO_URL="http://fastdl.mongodb.org/${OS}/${MONGO_TGZ}"
echo "Downloading Mongo from ${MONGO_URL}"
curl "${MONGO_URL}" | tar zx
Expand Down
3 changes: 0 additions & 3 deletions tools/runners/run-mongo.js
Expand Up @@ -61,9 +61,6 @@ function spawnMongod(mongodPath, port, dbPath, replSetName) {
// Use mmapv1 on 32bit platforms, as our binary doesn't support WT
if (process.arch === 'ia32') {
args.push('--storageEngine', 'mmapv1', '--smallfiles');
} else {
// The WT journal seems to be at least 300MB, which is just too much
args.push('--nojournal');
}

return child_process.spawn(mongodPath, args, {
Expand Down

0 comments on commit fce09ac

Please sign in to comment.