syncstorage-rs
syncstorage-rs copied to clipboard
Deprecate POST "failed" bsos
@mhammond outlines this here: https://github.com/mozilla-services/syncstorage-rs/issues/376#issuecomment-571851614
Individual bsos can fail during a multi-write (regular POST or a batch) when others succeed. This poses complications for Sync clients: they would prefer multi-writes either completely succeeded or completely failed.
In Python syncstorage and our Spanner backend the only bsos added to failed are those that failed validation. Our mysql backend also adds bsos that failed to write due to DbErrors (along with a TODO to remove this).
To deprecate this, we could stop adding bsos to the failed collection entirely and let validation (40x) or db errors (50x) encountered fail and rollback the entire operation.
~~Upping the priority of this. The forms bug #480 made it evident how bad this "failed"
feature is. Ops pointed out that clients may been uploading batches of forms with all of them failing due to the bug and the client would have ignored them w/ the batch still succeeding.~~
~~We'll likely recover from this bug without further intervention (see https://bugzilla.mozilla.org/show_bug.cgi?id=1627410) but we might not be so lucky in the future.~~
Per: https://bugzilla.mozilla.org/show_bug.cgi?id=1627410#c16 -- the client does in fact retry uploading failed records.