-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Db related startup errors after 3.x migration #6329
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
Comments
For the index issue follow the 2.3.0 Migration Guide You can simple delete those indexes and they will automatically be added properly on start up or run the provided script. See Parse.Promise Proposal. Parse.Promise was build off JQuery Deferred model (Deferred promises are deprecated) and aren't A+ complaint as Native Promise. there are a few more reasons in that post. You can read the Parse.Promise to Promise guide if you aren't familiar with native Promises. The major update from 2 to 3 was to add support for Node 8 features like async / await. Removing the old backbone and response.success/error was a bonus. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Closing due to lack of response, feel free to continue the discussion if your issue persists. |
Hey Guys
Thanks for all your contributes to parse server.
We have been holding off the migration from 2.x to 3.x and recently had to upgrade from 2.8.4 to 3.10.0 because of aggregation query bugs in 2.x.
After the migration, parse server wouldn't even start. The startup process would stop citing one of the following reasons:
Replica set node couldn't be contacted
This situation is known to us. Some of the replica set nodes referenced in the mongodb connection url is not available in our test environment. We didn't perceive this to be a problem. It was like a simulation of a situation where some replica set nodes are down due to failure at parse server startup. I would still expect parse server to start in this situation and communicate with the other available nodes. I wasn't sure whether 2.x complained about this, but it certainly didn't stop the server startup for this
Index assertion errors
It complained that the existing index is different to the one being asserted. I didn't investigate further into what specifically was different, but the old 2.x didn't abort server startup for these types of errors.
Looking at the migration docs, it looks like error handling has changed a lot in 3.x. I don't know whether this new startup behaviour was intentional or whether it was an unhandled use case that deviates from the happy path.
I am still not sure whether this promise overhaul was completely necessary. The example given in the migration guide presents this contrived example of how ugly and deeply nested the old 2.x promise chaining was. I don't know how everyone else in the parse server community wrote their code, but our 2.x promising chaining code was very neat:
It might be a bit too late to bring this up now, but was neater code the only reason for this 2.x to 3.x overhaul? Hopefully you can see our code was very very neat and easy to understand and maintain.
Has any large scale production site ever successfully upgraded all their production code from 2.x to 3.x?
Thanks again for all your contributions. It's because of people like you guys that people like us have jobs.
The text was updated successfully, but these errors were encountered: