Make partial submission progress survive retries · Issue #7356 · getodk/collect · GitHub
Skip to content

Make partial submission progress survive retries #7356

Open

Description

@lognaturel

Submissions with media where some amount of the upload succeeds, and the rest doesn't, retrying should not require every chunk to be uploaded again.

Notes

From @FormShareDev at #7353:

We used ODK Collect a couple of years ago in rural Tanzania as part of the ARTEMIS project, where we collected farm data along with close to 100 high-res images. Sending such a submission is already hard there, and today's upload behavior makes it harder: there is no chunk-level progress, so whenever an upload fails, which happens often on an unreliable link, the entire submission is re-uploaded from the beginning on the next attempt.

Possible solution at #7353 using a dot file to store chunk submission status.

Activity

  1. changed the title [-]Submission retry always submits all chunks, even if some have already been received by the server[/-] [+]Make partial submission progress survive retries[/+] on Aug 14, 2026
  2. lognaturel commented on Aug 14, 2026

    @lognaturel
    MemberAuthor

    One related thing that we've discussed in the past is that the X-OpenRosa-Accept-Content-Length conflates maximum request size and preferred batching size. The proposed approach at #7353 which relies on X-OpenRosa-Accept-Content-Length-based chunking wouldn't help most ODK Central users with the default configuration, for example, because the X-OpenRosa-Accept-Content-Length is currently set to 100mb. We set this default because we've heard more need for single large attachments than many small ones. We've seen some workflows with many images on unreliable connections but background autosend generally seems to get the single big chunk through eventually even if it's not ideal.

    As far as I know, the main reason for chunking rather than sending attachments one by one is not to have to send the submission XML too many redundant times. The submission protocol requires every POST to come with submission XML.

  3. moved this from inbox to ready in ODK Collecton Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions