Skip to content

Parser Server not fully compatible with Mongo Atlas Serverless #7937

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

Closed
4 tasks done
Moumouls opened this issue Apr 14, 2022 · 8 comments · Fixed by #8805
Closed
4 tasks done

Parser Server not fully compatible with Mongo Atlas Serverless #7937

Moumouls opened this issue Apr 14, 2022 · 8 comments · Fixed by #8805
Labels
state:released Released as stable version state:released-alpha Released as alpha version state:released-beta Released as beta version type:feature New feature or improvement of existing feature

Comments

@Moumouls
Copy link
Member

New Issue Checklist

Issue Description

I currently checking if parse-server could run in a fully serverless env.
The experiment is based on GCP Cloud Run and the new Mongo Atlas Serverless service (https://www.mongodb.com/cloud/atlas/serverless)

I found an issue (no current workarounds) about collation (case insensitive login/query/indexes). Mongo Serverless does not support collation. Developers are not able to "disable" collation. The collation fails will for example block logins, and block Defined Schema migration.

Steps to reproduce

Run a parse-server and connect to a Mongo Serverless Instance

Actual Outcome

All stuff related to case insensitive query/index will fail

Expected Outcome

To be able to disable the collation (mainly used on the Parse. User class)

Environment

5.3.0-alpha.6

Server

  • Parse Server version: 5.3.0-alpha.6

Database

  • System (MongoDB or Postgres): Mongo Atlas Serverless
  • Database version: 5.3.1
  • Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): remote

Logs

Collation is not supported on this Altas tier (Mongo Serverless)

@parse-github-assistant
Copy link

Thanks for opening this issue!

  • 🚀 You can help us to fix this issue faster by opening a pull request with a failing test. See our Contribution Guide for how to make a pull request, or read our New Contributor's Guide if this is your first time contributing.

@Moumouls
Copy link
Member Author

Moumouls commented Apr 14, 2022

Here I'll suggest:

  • Add an option to disable case insensitivity, and simply force "username/email" toLowerCase() when this feature is activated to prevent any login issue.

I think the tradeoff is understandable, and easy to implement in parse-server. Developers will have a super simple workaround if they want to keep casing for UI purposes. They can create a "uiUsername" string filed on Parse.User to store the username without forced lowerCase.

Forcing lowerCase on the server side will not introduce any breaking change on the client side. Signup/login with "Moumouls" or "moumouls" will resolve to the same user account.

Maybe Altas will support later collation on Serverless service but no current plan/roadmap/blog about this.

@mtrezza mtrezza added the type:feature New feature or improvement of existing feature label Apr 14, 2022
@Moumouls
Copy link
Member Author

Goods news, Mongo announced that Serverless is now GA. Collation is still not supported so Parse Server needs a PR to disable collation.

Related news: https://www.mongodb.com/blog/post/embrace-benefits-serverless-development-atlas

@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.4.0-alpha.8

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Nov 13, 2023
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.5.0-beta.1

@parseplatformorg parseplatformorg added the state:released-beta Released as beta version label Nov 16, 2023
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.5.0-alpha.1

@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.5.0

@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 7.0.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label Mar 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment