Comments (15)
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.
from mongodb-erlang.
1
from mongodb-erlang.
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.
from mongodb-erlang.
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 ?
from mongodb-erlang.
1
from mongodb-erlang.
+1 @comtihon can you comment on @codeadict's suggestion?
from mongodb-erlang.
that would be great, unfortunately I don't have time to do it myself.
from mongodb-erlang.
@comtihon Great, thanks for your feedback! :)
@kjellwinblad, @codeadict let's see how to best organise this merge back.
from mongodb-erlang.
@codeadict Any updates to provide on the progress?
from mongodb-erlang.
@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.
from mongodb-erlang.
@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.
from mongodb-erlang.
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?
from mongodb-erlang.
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.
from mongodb-erlang.
@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.
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.
37a2254
c2bf978
9ea3196
from mongodb-erlang.
@samwar do you think porting over the changes is feasible or ETOOCOMPLEX? just interested in your assesment, no "impatience" at all.
I think projects depending on mongodb-erlang can switch to the emqx fork in any case, but I also still think bundling forces on 1 fork is the most sustainable approach for the driver.
@codeadict @kjellwinblad @GabrielSchlatter
from mongodb-erlang.
Related Issues (20)
- It doesn't seem to support 4.2
- Generic server terminating HOT 4
- Issue connecting to ReplicaSet HOT 2
- Issue connecting to ReplicaSet HOT 7
- Failed to update package rebar_ct from repo hexpm HOT 3
- Are distinct and aggregate command supported? HOT 2
- Maintenance plans? HOT 2
- MongoDB 4.2 cluster "Can't pass authentification" in 2nd erlang node HOT 8
- API Consistency Question HOT 1
- Connection Pool Issue HOT 2
- How to use SSL? HOT 2
- Is collation supported?
- undefined function erlang:get_stacktrace/0 HOT 1
- Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true
- How can I create/drop a collection using the driver HOT 1
- Master-slave switchover error
- Can't canonicalize query :: caused by :: unknown operator: $maxDistance
- OP_QUERY is no longer supported HOT 1
- How to add limit in find function in mongo_api call
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mongodb-erlang.