Skip to content

Conversation

samedson
Copy link
Contributor

@samedson samedson commented Jun 23, 2020

  • In cases where there is bad connection, the current behavior deletes the cached reports because they are caught as an IOException. They appear to be encoding errors, when in reality it's an error opening the OutputStream that is the connection.

  • This changes it so that when the IOException is due to connection problems, we retry the upload instead of deleting it.

This is where we transform status numbers into success, fatal, and transient errors: CctTransportBackend.java

  • 400-level errors (except 404) are treated as fatal errors, which are deleted
  • 500-level errors are treated as transient errors, which are retried

This is where we decide to delete fatal errors, and retry transient errors: Uploader.java

@googlebot googlebot added the cla: yes Override cla label Jun 23, 2020
@samedson samedson requested a review from rlazo June 23, 2020 17:57
@google-oss-bot
Copy link
Contributor

Binary Size Report

Affected SDKs

  • firebase-encoders-json

    Type Base (037282f) Head (94d853c7) Diff
    apk (aggressive) 10.9 kB 11.0 kB +15 B (+0.1%)
    apk (debug) 28.6 kB 28.6 kB +3 B (+0.0%)
  • transport-api

    Type Base (037282f) Head (94d853c7) Diff
    apk (aggressive) 10.9 kB 11.0 kB +15 B (+0.1%)
    apk (debug) 23.0 kB 23.0 kB -13 B (-0.1%)
  • transport-backend-cct

    Type Base (037282f) Head (94d853c7) Diff
    aar 39.0 kB 39.0 kB +67 B (+0.2%)
    apk (aggressive) 47.9 kB 48.0 kB +57 B (+0.1%)
    apk (debug) 102 kB 102 kB +51 B (+0.1%)
    apk (release) 82.4 kB 82.4 kB +41 B (+0.0%)
  • transport-runtime

    Type Base (037282f) Head (94d853c7) Diff
    apk (debug) 80.6 kB 80.6 kB +2 B (+0.0%)

Test Logs

Notes

Head commit (94d853c7) is created by Prow via merging commits: 037282f e2af542.