-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
storage: CopierFrom large files, progress resets and copy never finishes #6857
Comments
Hi @miguelb , thanks for filing the issue. Could you let us know what release of the storage client you are using? That will help us reproduce. Also, if I understand correctly, this particular use case (regional to multi region bucket) never worked; it's not something that started at a certain date or after updating the client version -- can you confirm? |
This is our first time running into this issue, this is a new codebase. It doesn't work if buckets are different region configuration. If the GCS buckets have the same region configuration, copy happens immediately between the buckets.
|
I ran our test against previous versions and Here are the logs:
|
Thanks very much for the details and for confirming that this worked in an earlier library version. We made a major refactor of the client internals in v1.25.0 so it's likely that there was a bug introduced at that point for your specific use case. I'll work on a repro and fix for the issue. |
This fixes infinite retry issues. Will follow up with tests to catch this behaviour. Fixes #6857
We found a bug that was introduced in Copier during the refactor that was preventing the Copy operation from completing when the object is large enough to require multiple requests to the API. We've merged a fix which will go out with the next release of storage (sometime next week). Thanks again for bringing this to our attention, and apologies for the inconvenience. We'll also work on expanding our integration test coverage of this case. If you have concerns about the cost of data egress you incurred due to this bug, please contact your account manager and have them get in touch with me (they can find me internally via my github handle). |
Retract storage releases affected by googleapis#6857. This will prevent the Go tool from selecting these versions using MVS. Builds where these releases are currently selected will still work, but the user will receive a warning.
Retract storage releases affected by #6857. This will prevent the Go tool from selecting these versions using MVS. Builds where these releases are currently selected will still work, but the user will receive a warning. Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
* run tf-sdk-migrator v2upgrade * schema.Removed removed in v2, change to deprecated https://developer.hashicorp.com/terraform/plugin/sdkv2/guides/v2-upgrade-guide#removal-of-helper-schema-schema-removed * SetPartial was removed in v2 https://developer.hashicorp.com/terraform/plugin/sdkv2/guides/v2-upgrade-guide#removal-of-helper-schema-resourcedata-setpartial * ResourceProvider removed in v2 https://developer.hashicorp.com/terraform/plugin/sdkv2/guides/v2-upgrade-guide#removal-of-the-terraform-resourceprovider-interface * go/[email protected] was retracted go: warning: cloud.google.com/go/[email protected]: retracted by module author: due to googleapis/google-cloud-go#6857 go: to switch to the latest unretracted version, run: go get cloud.google.com/go/storage@latest * update plugin/v2 deps and manually merge require sections open bug about require sections: golang/go#56471 * publish image needs fields for computed resources * set default for file mode. ensure proper string-int conversion the lxd client api works in ints, but mode is a string for our users * use set-specific attribute test function * simplify provider tests
* Update k8s dependencies to v0.26.2 * Update controller-runtime to v0.14.6 * Update cloud storage googleapis/google-cloud-go#6857 * Update copy options * Update wolfi image * Remove controller-runtime replace directives * Fix integration tests
Setup: Intel Mac using `go get .`, received the following message ``` go: warning: cloud.google.com/go/[email protected]: retracted by module author: due to googleapis/google-cloud-go#6857 go: to switch to the latest unretracted version, run: go get cloud.google.com/go/storage@latest ```
We are copying a large file from a regional bucket to a multi-regional bucket, and seeing some strange behaviors.
Client
GCS
Environment
golang:1.19.1-alpine
Go Environment
1.19.1
Code
Expected behavior
Progress increments and eventually finishes
Actual behavior
Progress seems to reset and it never finishes
Here are logs of the progress:
Also, if we run the same code on two GCS buckets that are both multi-regional. The copy happens almost immediately.
Here are the logs
The text was updated successfully, but these errors were encountered: