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
Update MongoDB to 4.0 #10058
Update MongoDB to 4.0 #10058
Conversation
packages/mongo/mongo_driver.js
Outdated
ignoreUndefined: true | ||
ignoreUndefined: true, | ||
// Use new URL parser to avoid deprecation warning. | ||
useNewUrlParser: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The driver shows this warning by default:
DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
6dfa938
to
6e504aa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome @klaussner - thanks very much!
@klaussner One small thing - it looks like 3.6.4 is still being used for |
@hwillson Did you rebuild the dev bundle? This is the output I get from the $ meteor-dev mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:3001/meteor
MongoDB server version: 4.0.0
Server has startup warnings:
2018-07-12T21:40:42.422+0200 I STORAGE [initandlisten]
2018-07-12T21:40:42.422+0200 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2018-07-12T21:40:42.422+0200 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
meteor:PRIMARY> |
Hi @klaussner - I did rebuild the dev_bundle, but when I just tried again I'm now seeing bizarre |
Quick update relating to #10058 (comment) - the |
After running with the new ➜ pr-10058 /Users/hwillson/Documents/git/meteor/forks/klaussner/meteor/meteor mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:3001/meteor
MongoDB server version: 4.0.0
---
Enable MongoDB's free cloud-based monitoring service to collect and display
metrics about your deployment (disk utilization, CPU, operation statistics,
etc).
The monitoring data will be available on a MongoDB website with a unique
URL created for you. Anyone you share the URL with will also be able to
view this page. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command:
db.enableFreeMonitoring()
---
meteor:PRIMARY> Should we suppress Mongo's free monitoring message (is that dynamically pulled in?), or leave it as is? Either way, it's working - thanks @klaussner! |
Interesting, I didn't get the free monitoring message, just the filesystem warning. 🤷♂️ The only way I found to suppress them is to pass the
On the other hand, they can easily be found using the shell, so I think I'm in favor of using the
|
Hi @klaussner - 👍 on the |
29708e8
to
bab35dc
Compare
Thanks, @hwillson. I've added the |
I've rebased these changes onto I think there may still be some test failures, judging from local Thanks for working on this @klaussner! |
The `mongo` shell is run with the `--quiet` option (7f7a987), so there's no more output to match.
bab35dc
to
2d75cc6
Compare
I went digging for another way to disable the free monitoring advertisement, and I found this command-line option: However, when I add that option to the At least, that's what happens on OSX. On Linux, I get
I wrote up these findings in their JIRA issue pertaining to the problem: https://jira.mongodb.org/browse/SERVER-36474 It's hard to know how worried we should be about the general stability of Mongo 4.0.0. Should we be concerned about merely silencing (rather than disabling) this poorly-tested feature? |
@klaussner Have you checked how the new transactions feature interact with Meteor's pub/sub and oplog tailing? We should make sure that if you do a transaction and modify data, that this is not leaked through oplog to pub/sub. Probably pub/sub should push updates to the client only after the transaction commits. |
@mitar I haven't tried it but I assume that transactions don't work with pub/sub at the moment. Each transaction has its own oplog entry, which includes a list of operations (inserts, updates, etc.) that were committed successfully but Meteor doesn't handle this type of oplog entry yet, I think. |
I think oplog entries just have a transaction ID associated with it. What I worry is that if Meteor oplog tailing ignores that entry, it might update based on some operations happening inside the transaction, which should not yet be visible outside. Or are you saying that operations inside transactions are not send over the oplog until committed? I do not know details here though. Maybe you are right. I just see a potential issue here. |
Exactly, only operations of successful transactions will appear on the oplog. I opened an issue with more details: #10195. |
This PR updates MongoDB to version 4.0 and the driver to version 3.1.
Fixes meteor/meteor-feature-requests#269.