Large Uploads
Large files are not uploaded in one request. They are split into chunks, and the transfer is tracked as a session.
Where to find it
Architect Panel → Data:
- File Stores — the stores themselves, and View File Store on a row
- Large Uploads — in-progress and stalled upload sessions
- File Import Routines — watched sources and their mappings
What a session records
An upload key and an owner, the filename, extension and type, the declared size against how much has been received, the chunk size and how many chunks are expected and received, where it is going — table, field, record and storage kind — its state, the resulting file or document, any error, a staging path, who started it and when, when the last chunk arrived, and when it completes or expires.
Each chunk is verified
Chunks record their number, size, checksum, location and arrival time. So a corrupted chunk is detected rather than assembled into a broken file.
Why chunking matters
A single large request fails entirely on a dropped connection, times out on a slow one, and cannot report progress. Chunks fail individually and can be retried, which is the difference between a large upload that works on a mobile connection and one that never completes.
Sessions expire
An upload that never finishes would otherwise hold staged data forever. The expiry is what cleans that up, and it is why an abandoned upload does not accumulate.
Stalled sessions are a diagnostic
A user reporting that a large upload "does not work" can be answered from the session: how much arrived, when the last chunk came, and what the error was.
That is far more useful than asking them to try again.
A pattern of stalls means something
Several users stalling at a similar point usually means a size limit somewhere in the path — a proxy, a web server, a load balancer — rather than the platform. The received size at which they stop is the clue.
Tell users what is happening
A large upload takes time, and an interface that gives no indication produces users who navigate away part way through. Progress and a clear completion message are worth the effort.
Staged data is real data
A partly uploaded file is a partly uploaded file of something, sitting in a staging area. It should be protected like the finished article and removed when the session expires.
Test on a poor connection
Not on a wired desk. Upload something genuinely large from a phone on mobile data, and interrupt it. That is how your users will do it.
Worked example
A team investigating failed uploads found sessions consistently stalling near the same received size, which identified a proxy limit rather than a platform one. Expired sessions were confirmed to be clearing their staged data.
Recommendations
- Use the session to diagnose, not the user’s account.
- A common stall size means a limit in the path.
- Show progress for large uploads.
- Test from a phone on mobile data, and interrupt it.