The last call merges and copies the data of all chunks to a single file in the storage bucket, which can take 10-20 seconds for a 6.3 GB big file split into 100 MB chunks (Ubuntu ISO).
As the 10-20 seconds is a) quite long and b) likely to exceed the 30s http timeout limit for reasonably big files soon, the architecture of the last request should be changed towards being async.
Acceptance criteria:
- The final request is returned sooner.
- The merge and copy operations towards S3 are handled in the backup.
Research questions:
- What does the upload endpoint return between the last call and the moment the upload is actually finished? Maybe the upload element itself can store some other state, which is queryable?
The last call merges and copies the data of all chunks to a single file in the storage bucket, which can take 10-20 seconds for a 6.3 GB big file split into 100 MB chunks (Ubuntu ISO).
As the 10-20 seconds is a) quite long and b) likely to exceed the 30s http timeout limit for reasonably big files soon, the architecture of the last request should be changed towards being async.
Acceptance criteria:
Research questions: