-
Notifications
You must be signed in to change notification settings - Fork 268
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
Add support for MongoDB 6.X+ #254
Comments
1 |
Support for MongoDB 5.1+ has been added to this fork https://github.com/emqx/mongodb-erlang (MongoDB 5.1 was the first version that removed support for the legacy opcodes). Unfortunately, it is not easy to merge this change back as EMQX's fork and this repository has diverged quite a lot. EMQX has worked on their own fork since they want to maintain hot-upgradability. I think EMQX would appreciate if someone has time/interest to merge back changes from EMQX's fork to this repository. |
That's awesome @kjellwinblad , i've been checking the changes and they look great. I can volunteer to merge changes back but depends on what the maintainers think about integrating all the changes the emqx fork have or only a subset of them. Thoughts @comtihon ? |
1 |
+1 @comtihon can you comment on @codeadict's suggestion? |
that would be great, unfortunately I don't have time to do it myself. |
@comtihon Great, thanks for your feedback! :) |
@codeadict Any updates to provide on the progress? |
@kjellwinblad @codeadict Any word on the changes? If you touched a specific set of merges or modules when making the changes to support Mongo 5.1+, we could collectively backport the changes or make another fork. |
Not sure what you mean with "touched a specific set of merges or modules". When I started the work to support 5.1+ in https://github.com/emqx/mongodb-erlang, the repositories had already diverged quite a bit so a merge is not straightforward. One option could be to let development continue in our (EMQX's) repository and that eventual missing features/fixes in EMQX's repository is ported from this repository. Maybe this direction is easier? Also it might be worth mentioned that we have noticed that the current driver seems to be quite inefficient (a lot of message passing going back and forth different processes only to do a singe insert) so it might be worth it to start with a blank slate and create a new more efficient driver that only supports the new protocol. |
We received notifications from MongoDB Atlas recently: "MongoDB 5.0 End of Life on October 31, 2024; automatic Atlas cluster upgrades to 6.0". Is there any chance the driver will be updated and made compatible before that date? |
Unfortunately I don't have time for it RN. So either someone can propose a PR or I will try to find the time for it till Oct. |
If the drivers have diverged so much, it might not be straightforward for those of us using the OG (this) MongoDB driver to switch to using your fork. If there are still some similarities, I was hoping the changes in your driver could be picked out. If you can pinpoint a range of commits and modules where you added support for Mongo 5.1+, then it would be easier to attempt to port the changes to this driver. It may be as easy as porting these two commits into this driver. |
I've started to look at the diff and port over the changes in a new fork. Hopefully I'll have this done in the next couple of weeks. |
@samwar do you think porting over the changes is feasible or ETOOCOMPLEX? just interested in your assesment, no "impatience" at all. |
MongoDB 6.0 removes support for the following legacy opcodes and database commands:
OP_INSERT
OP_DELETE
OP_UPDATE
OP_KILL_CURSORS
OP_GET_MORE
OP_QUERY
getLastError
MongoDB will close the connection and will not respond to the above.
See: https://www.mongodb.com/docs/v6.0/release-notes/6.0-compatibility/#legacy-opcodes-removed
The text was updated successfully, but these errors were encountered: