[GH-ISSUE #2049] ResumableUploadStartOverException with gsutil cp #249

Open
opened 2026-03-03 12:09:25 +03:00 by kerem · 1 comment
Owner

Originally created by @rcleveng on GitHub (Oct 20, 2025).
Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/2049

This looks like the same issue as with #217. However it doesn't happen with small files (a few k), but with 60mb files gsutil is trying to use a resumable upload (I guess)

Any ideas on how to work around this, I looked at the examples (thanks for those) but didn't see any other flags to try

% gsutil -o "Credentials:gs_json_host=127.0.0.1" -o "Credentials:gs_json_port=4443" -o "Boto:https_validate_certificates=False" cp doc.pdf gs://foo/doc.pdf
Copying file://doc.pdf [Content-Type=application/pdf]...
Caught ResumableUploadStartOverException for upload of file://doc.pdf.
Checking that bucket foo exists before retrying upload...
Deleted tracker file /Users/r/.gsutil/tracker-files/upload_TRACKER_64296f5c8aca03a9aadf46aafd470c1745e232ad.oc.pdf__JSON.url for resumable upload of file://doc.pdf before retrying.
Restarting upload of file://doc.pdf from scratch (retry #1) after exception indicating we need to start over with a new resumable upload ID: ResumableUploadStartOverException: 404 Not Found

Originally created by @rcleveng on GitHub (Oct 20, 2025). Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/2049 This looks like the same issue as with #217. However it doesn't happen with small files (a few k), but with 60mb files gsutil is trying to use a resumable upload (I guess) Any ideas on how to work around this, I looked at the examples (thanks for those) but didn't see any other flags to try % gsutil -o "Credentials:gs_json_host=127.0.0.1" -o "Credentials:gs_json_port=4443" -o "Boto:https_validate_certificates=False" cp doc.pdf gs://foo/doc.pdf Copying file://doc.pdf [Content-Type=application/pdf]... Caught ResumableUploadStartOverException for upload of file://doc.pdf. Checking that bucket foo exists before retrying upload... Deleted tracker file /Users/r/.gsutil/tracker-files/upload_TRACKER_64296f5c8aca03a9aadf46aafd470c1745e232ad.oc.pdf__JSON.url for resumable upload of file://doc.pdf before retrying. Restarting upload of file://doc.pdf from scratch (retry #1) after exception indicating we need to start over with a new resumable upload ID: ResumableUploadStartOverException: 404 Not Found
Author
Owner

@rcleveng commented on GitHub (Oct 20, 2025):

Well, just found the workaround. I'll leave it here incase anyone else hits it.

It'd be great if this wasn't needed though.

Edit .boto and make resumable_threshold some really big number.
I copied the .boto file to my local directory and ran this in my shell to have gsutil use it vs $HOME/.boto:
BOTO_PATH="$(pwd)/.boto"

# 'resumable_threshold' specifies the smallest file size [bytes] for which
# resumable Google Cloud Storage uploads are attempted. The default is 8388608
# (8 MiB).
resumable_threshold = 838860800000
<!-- gh-comment-id:3420420627 --> @rcleveng commented on GitHub (Oct 20, 2025): Well, just found the workaround. I'll leave it here incase anyone else hits it. It'd be great if this wasn't needed though. Edit .boto and make resumable_threshold some really big number. I copied the .boto file to my local directory and ran this in my shell to have gsutil use it vs $HOME/.boto: BOTO_PATH="$(pwd)/.boto" ``` # 'resumable_threshold' specifies the smallest file size [bytes] for which # resumable Google Cloud Storage uploads are attempted. The default is 8388608 # (8 MiB). resumable_threshold = 838860800000 ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/fake-gcs-server#249
No description provided.