As noted in Bug 1062120, failing POST requests are currently reported as a "200 OK" with failure codes in the response body. The exception is ConflictError, which after Bug 1051739 is now reported straight through to the client as a 503. We think this is showing up in prod as increased reports of "server maintenance" errors for otherwise transient write conflicts. This patch changes the way ConflictError is reported to match how other BackendError instances are handled on POST requests. It is not pretty, but the existing "turn a 409 into a 503" handling was not pretty either...
Created attachment 8487582 [details] [diff] [review] sync-conflicterror-is-a-o-k.diff
Assignee: nobody → rfkelly
Attachment #8487582 - Flags: review?(telliott)
Status: NEW → ASSIGNED
QA Contact: jbonacci
For full context: Bug 1034377 also landed recently, which makes more things show up as ConflictError that would otherwise have been a generic BackendError. As a follow-up we should revisit that and see if it's over-reporting things that are not really semantically a ConflictError.
Attachment #8487582 - Flags: review?(telliott) → review+
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
1.5.10 is out in Production.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.