-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Writing to GCS fails even when CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE=YES #3604
Comments
Does it make a difference if you try with /vsigs/ instead of /vsigs_streaming/ as the source ? Note that efficient streamed reading of GeoTIFF files assumes they have a friendly layout (headers and tile offsets/bytecounts arrays at the beginning, 'sequential' ordering of tiles/strips within the file), but that would be more a performance issue (reseting the streamed reading over and over when a back seek is needed) than a functional one |
Hey @rouault Anything else I should look for? The GDAL error is very cryptic... |
Another example with rasterio, giving the same problem.
Completes successfully (no exception triggered), but no file is created on GCS |
From the log and the code, the following occurs on a curl error:
Googling for "Connection state changed (MAX_CONCURRENT_STREAMS == 100)" shows a number of occurrences. |
Hey @rouault I believe that Setting the environment variable
|
No.
Not without further investigation. Might be an issue in curl/libnghttp2 or the way we use curl Can you reproduce on a non-GCE instance ? On a GCE instance GDAL selects HTTP2 automatically, but on non-GCE machines, not (since when testing a few years ago, it was found that HTTP2 was slower on non-GCE machines). So you might need to set GDAL_HTTP_VERSION=2 on a non-GCE machine |
I will see what I can do... unfortunately, I do not have a spare machine outside GCE that I can use for that. Moreover, the bucket is private and the authentication is set up using instance metadata so that's going to be tricky to reproduce. In the meanwhile, thank you for your help! |
|
Expected behavior and actual behavior.
I should be able to read/write tif files from/to GCS using GDAL using
CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE
Steps to reproduce the problem.
I used
gdal_translate
in the example, but the same happens even with rasterio.From the logs, I see that the file is downloaded and translated correctly. Writing failes. Debug logs don't give me any extra information:
I tried writing files to GCS using
gsutil
and that works fine, so I doubt it's a permission problem.Operating system
Ubuntu 20.04 container running on GKE
GDAL version and provenance
GDAL 3.2.1-v3.2.1
Docker image built from ubuntu-small
The text was updated successfully, but these errors were encountered: