telemetry-ios
telemetry-ios copied to clipboard
Ensure server error codes are correctly used to dispose or retry pings
The implementation on dev
branch is aggressive and disposes the ping on all non-200 error codes.
Note: 300-series that are resolvable are handled by the URLSession transparently, so we can ignore those in the discussion.
At a minimum we should retry on certain 5xx error codes. ATM, I am checking with server-side to see if they want input on the logic here.
In the current implementation, the term retry means that the ping JSON file is not deleted after the upload attempt, and when the upload is scheduled in future the ping upload will be attempted again. Deleting the ping means we delete the ping JSON file after the upload.
@justindarc is working on additional retry logic, which we can detail here.
@fbertsch any more info on this?