loopback-connector-mongodb icon indicating copy to clipboard operation
loopback-connector-mongodb copied to clipboard

Mongodb driver 4.x Upgrade

Open arsa-dev opened this issue 2 years ago • 6 comments

This pull request extends @apocist work that can be checked at https://github.com/loopbackio/loopback-connector-mongodb/pull/639

Upgrades connector support to the latest MongoDb driver ^4.6.0. The latest MongoDB driver allows access to MongoDB Altas cloud infrastructure and loadBalanced databases. Connection to this atlas service is impossible with the 3.x series at this time.

As of writing, various servers are successfully using this currently for Mongo Altas Serverless instances.

Known MongoDb Driver 4.x references found in source files and: https://github.com/mongodb/node-mongodb-native/blob/4.0/docs/CHANGES_4.0.0.md https://github.com/mongodb/node-mongodb-native/releases/tag/v4.1.0

Implements #638

NOTE: There are 1 test still failing since new bson.ObjectId object instances are now not meeting lodash isEmpty checks, this should be probably fixed at loopback-datasource-juggler repo. Maybe @achrinza or any other member have another idea, I'll be happy to implement any of them.

Checklist

  • [x] DCO (Developer Certificate of Origin) signed in all commits
  • [ ] npm test passes on your machine
  • [x] New tests added or existing tests modified to cover all changes
  • [x] Code conforms with the style guide
  • [x] Commit messages are following our guidelines

arsa-dev avatar May 15 '22 01:05 arsa-dev

Thanks for the PR, @arsa-dev! Since this requires an update to loopback-datasource-juggler and is a breaking change due to the driver update, I've scheduled this to align with the May 2022 iteration (June 2022 release cycle).

This should give us sufficient time to review the PR and do the necessary to prepare a v7.x connector release.

achrinza avatar May 16 '22 09:05 achrinza

Okey @achrinza, let me know if I can help in the process to make this merged. I'll be happy to help on this.

arsa-dev avatar May 16 '22 09:05 arsa-dev

Any news on this? It'll be great to have

webocs avatar Jul 01 '22 22:07 webocs

Thanks for the PR, @arsa-dev! Since this requires an update to loopback-datasource-juggler and is a breaking change due to the driver update, I've scheduled this to align with the May 2022 iteration (June 2022 release cycle).

This should give us sufficient time to review the PR and do the necessary to prepare a v7.x connector release.

Hi @achrinza, there is any news on this release process? After ~2months of delay on scheduled iteration, our client is requiring us to have official compatibility for mongodb or in his defect to migrate all our projects to another framework/technology that have it.

I know that this is only our personal situation but since this is something that some other users like @webocs requires too and also improves the connector upgrading his driver, maybe we can perform a little effort together to finally merge this driver update.

We have human resources to help on all what is needed to get these changes merged, like proposing the changes at loopback-datasource-juggler for instance, or anything else you can delegate on us.

arsa-dev avatar Aug 26 '22 08:08 arsa-dev

re Juggler: If you can open a PR to fix the issue, I'll help push it through and get it released as well.

achrinza avatar Aug 28 '22 10:08 achrinza

Hi @achrinza, unfortunately did not had time in the week, I'll be working on it today

arsa-dev avatar Sep 03 '22 10:09 arsa-dev

Hi @arsa-dev, many apologies for the delay on reverting;

I've discussed with the other maintainers on the best way to handle major upgrades to database connectors (which we consider "critical packages"), and how we can convey the right messaging for new releases which are not battle-tested.

In this case, we've agreed to merge and release this as a pre-release so that we can publish this without further delay, and continue to refine it over time.

I understand it's been some time since the opening of the PR, but if you're still open, could you consider squashing the PR into a single commit?

From there, I'll proceed to merge it as-is and cut a pre-release version.

We don't expect any breaking changes as we publish future pre-release versions, just that the changes in this PR may not be considered fully field-tested.

achrinza avatar Oct 23 '22 12:10 achrinza

Hi @arsa-dev, many apologies for the delay on reverting;

I've discussed with the other maintainers on the best way to handle major upgrades to database connectors (which we consider "critical packages"), and how we can convey the right messaging for new releases which are not battle-tested.

In this case, we've agreed to merge and release this as a pre-release so that we can publish this without further delay, and continue to refine it over time.

I understand it's been some time since the opening of the PR, but if you're still open, could you consider squashing the PR into a single commit?

From there, I'll proceed to merge it as-is and cut a pre-release version.

We don't expect any breaking changes as we publish future pre-release versions, just that the changes in this PR may not be considered fully field-tested.

Hi @achrinza, I've pushed the squash commit to the branch.

arsa-dev avatar Oct 23 '22 13:10 arsa-dev

Thanks for your contributions, it has been merged! :tada:

achrinza avatar Oct 23 '22 21:10 achrinza

Thanks for your contributions, it has been merged! 🎉

That sounds like great news @achrinza !! Do we know about an estimated release date? I've contacted our client and he is giving us the chance to wait it if is not taking so long.

arsa-dev avatar Oct 25 '22 12:10 arsa-dev

Hi @arsa-dev, I'm aiming towards a release within the next 7 days.

achrinza avatar Oct 26 '22 00:10 achrinza

Hi @achrinza, hope that everything is running well. There is any news about the release process?

arsa-dev avatar Nov 17 '22 21:11 arsa-dev

Hi @arsa-dev, apologies for the delay on the release. I've went ahead and cut the first v7 pre-release, [email protected].

If there's any problems with the release, please do open a new issue and consider contributing a fix; Since it's currently tagged as a pre-release, we're able to make more rapid changes and code reviews for v7.

achrinza avatar Nov 20 '22 13:11 achrinza