response code 500->409 for concurrent role assignment creations #11406
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.
What this PR does / why we need it:
With concurrent API calls to
Datasets.createAssignment
you could get a response code 500 "transaction aborted" with details only in the server logs. This PR changes the response into: code 409 (conflict) "User already has this role for this dataset".Which issue(s) this PR closes:
Special notes for your reviewer:
Suggestions on how to test this:
Run a script with at least two threads. Each thread executes a single loop that adds an deletes the same role-assignment.
Does this PR introduce a user interface change? If mockups are available, please link/include them here:
Is there a release notes update needed for this change?:
Additional documentation: