Support "409 Conflict" errors from sync1.5 storage servers

RESOLVED FIXED

Status

()

defect
P2
normal
RESOLVED FIXED
6 years ago
2 years ago

People

(Reporter: rfkelly, Unassigned)

Tracking

(Blocks 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qa?][parallel])

Per the proposed sync1.5 protocol docs in Bug 951986, the sync storage servers may return a "409 Conflict" error when two clients attempt to update a collection simultaneously.  This is designed to prevent data loss that can occur when records from different clients get assigned the same timestamp.

Android sync needs to be prepared to handle this error.  It should be safe to initially treat it similarly to a "503 Service Unavailable" i.e. just abort the sync and start it again later.  More nuanced handling might abort syncing that datatype but allow other datatypes to proceed.
Whiteboard: [qa?]
tracking-fennec: --- → 30+
Priority: -- → P2
Whiteboard: [qa?] → [qa?][parallel]
tracking-fennec: 30+ → ---
Blocks: 1051739
Blocks: 1062120
All (I believe!) of our storage requests now include X-If-Unmodified-Since header, so I don't believe this is necessary anymore. See Bug 1253111 which covers uploads for most collections. Either way we will certainly abort if we see this on POSTs.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Product: Android Background Services → Firefox for Android
You need to log in before you can comment on or make changes to this bug.