Fixed issue with backend creating two exact googleid data when new user logged in. #205
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When user logged in, it try to retrieve the list of user's collection and scene asynchronously. And during the process, both call verifyGoogleToken function to see if the user exists in the database, and create new one if it doesn't. Since two asynchronous calls are looking for the same id, the race condition happens and both not finding the id, and creating two exact id in database.
By adding mutex lock, it ensures only one process is accessing at a time.