-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Mongo 3.6 #9632
Upgrade to Mongo 3.6 #9632
Conversation
It may be worth clarifying that, while Windows and Mac do only come bundled with SSL, SSL is still not included with the Generic Linux tarball (which I've built the dev bundle, though we'll want to remember to quell e73013b before merging (as notated with the Thanks for looking at this, @hwillson! |
The last part of this PR is to figure out what to do about #9591. When The database can be repaired (see #9591 (comment)) and used with previous versions of Meteor, but this is a manual step. We can't really automate this as we'd then have to release new patch versions for older Meteor releases, to include the code to handle the database repair when the Mongo startup error happens. Due to the way Tool springboarding works, we can't just add code to handle the repair in Meteor 1.6.2, and expect to have it called when running |
Just re-capping the decision from our call - I'll document the potential issue mentioned in #9632 (comment), along with the Mongo repair fix, in the |
This should now be ready for a new dev_bundle build/deploy (removing WIP). Thanks! |
d264cc2
to
c9a31a1
Compare
@hwillson I've re-published dev bundle |
b4784ca
to
e69754f
Compare
This reverts commit 85d74f8.
The accounts system `logoutOtherClients` method is using a connection close delay to make sure clients have a chance to get updated tokens, before older tokens are removed. Certain tests are setting this delay to 0, to help speed things up. The Meteor Mongo 3.6 changes have brought back in the need to use Mongo journaling, since the ability to disable journaling has been deprecated by Mongo. This means there is now a slight performance hit on certain Mongo operations, due to the increased time needed to cover the write to disk. This slight performance hit is causing the tests that use the 0 connection close delay to fail, since they are not waiting long enough for clients to get updated tokens, before they're removed. These changes increase the test connection close delay, to fix the failing tests.
e69754f
to
84e0d94
Compare
Merged to |
Note: According to this page Node.js Driver Compatibility MongoDB 3.6 is only compatible with Node.js Driver >= 3.0. I havn't investigated further. |
@bjarketrux I believe that this means that not all features of MongoDB 3.6 are supported by the 2.x driver, but it doesn't like completely break. |
Hi all - this PR reverts the revert (85d74f8) of dfc0702, and includes fixes to address the previous test failures. I've labelled this as a work in progress, as I think it makes sense to also address the following issues, in this PR:
New $v field in Mongo 3.6 oplog breaks OplogObserveDriver #9623Done (8a5c2e4)[1.6.2-beta.3] Meteor can't start Mongo server after switching mongo versions #9591Done (75bd950)The tests will of course fail here until a new dev_bundle is generated / published, but we can hold off on that until the above items are addressed.
I'll re-cap the previous Mongo 3.6 PR notes (#9533), so we don't have to jump around:
Fixes #9623.
This PR updates the Meteor Tool to use Mongo 3.6.2 for 64-bit OS' and Mongo 3.2.18 for 32-bit OS' (I've left the garbage
BUNDLE_VERSION
in place intentionally, since these changes will require a newdev_bundle
publish from MDG).A few important mentions:
--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.Mongo Node driver side note:
The Mongo Node driver has recently jumped into the 3.x range, and has introduced a few breaking changes. While we normally bump the Mongo Node driver to the most recent version when doing Mongo updates, I've left it in 2.x range for now. I'll submit a separate Mongo Node driver 3.x update PR, so we can keep the focus on the Mongo upgrade here. Mongo 3.6 will work with 2.x versions of the Mongo Node driver.
Thanks!