[gdal-dev] don't search side car files on s3 with gdalinfo
Even Rouault
even.rouault at spatialys.com
Sat Apr 27 04:48:31 PDT 2024
yes, GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR is the trick to both disable
directory listing and preventing individual file probing.
Javier, do you have GDAL_DISABLE_READDIR_ON_OPEN=YES also set? Otherwise
if GDAL_DISABLE_READDIR_ON_OPEN is not set, GDAL will normally issue a
S3 directory listing call, which should prevent later individual file
probing (if we have the list of files in the directory, we just need to
check the list, and don't need to do individual open()/GET attempts).
But that director listing is sometimes still undesirable if doing it in
a folder with a large number of files hence
GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR. Or maybe you don't have
directory listing permission in that folder/bucket?
Related to that, Howard filed https://github.com/OSGeo/gdal/issues/9443
recently. but it is not that simple to find a different default behavior
that doesn't result in functional regressions.
I was wondering if a solution, restricted to COG, couldn't be to put a
hint in the so-called "header ghost area"
(https://gdal.org/drivers/raster/cog.html#header-ghost-area), like
SIDECAR_FILES=NO, that could be used by the GTiff driver. Not sure if it
is the right way to address the issue however (and would work only for
new files of course, and probably only on explicit user choice at file
creation, because there could be scenarios where a user would want to
provide side car files)
Le 27/04/2024 à 13:12, Michael Smith via gdal-dev a écrit :
>
> Javier,
>
> You can control with the GDAL_DISABLE_READDIR_ON_OPEN configuration
> parameter (https://gdal.org/user/configoptions.html). Typically, I set
> GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR which will disable this.
>
> Mike
>
> --
>
> Michael Smith
>
> Remote Sensing/GIS Center
>
> US Army Corps of Engineers
>
> *From: *gdal-dev <gdal-dev-bounces at lists.osgeo.org> on behalf of
> Javier Jimenez Shaw via gdal-dev <gdal-dev at lists.osgeo.org>
> *Reply-To: *Javier Jimenez Shaw <j1 at jimenezshaw.com>
> *Date: *Saturday, April 27, 2024 at 7:01 AM
> *To: *gdal dev <gdal-dev at lists.osgeo.org>
> *Subject: *[gdal-dev] don't search side car files on s3 with gdalinfo
>
> Hi
>
> I am accessing a big file in S3. All works fine (when I learned how to
> set the authentication environment variables), but gdalinfo is
> checking for a lot of files that do not exist. I know there is only a
> GeoTIFF - COG (no side car files)
>
> However gdalinfo is trying to find several side car files, that are
> not there. S3 returns a 403. It takes its time to search for all those
> files.
>
> Is there a way to tell to gdalinfo that it should not check for those
> files?
>
> Bonus: QGIS is also taking time to open it (just using 'qgis' instead
> of 'gdalinfo' in the command line). I think it is for the same reason.
> It there a hack there as well?
>
> Thanks.
>
> $ AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=...
> AWS_SESSION_TOKEN=... gdalinfo /vsis3/blah/folder/ortho.tiff
> Driver: GTiff/GeoTIFF
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.aux.xml: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.aux: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.AUX: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.aux: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.AUX: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.ovr: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.OVR: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.msk: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.tiff.MSK: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.XML: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.xml: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.IMD: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.imd: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.RPB: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.rpb: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.PVL: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.pvl: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_rpc.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_RPC.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_metadata.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_METADATA.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_MTL.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_MTL.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/METADATA.DIM: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/metadata.dim: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_metadata.xml: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho_METADATA.XML: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.RPC: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.rpc: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.pass: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/ortho.PASS: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/summary.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/SUMMARY.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/HDRdisplay.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/HDRdisplay.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/HDRho_display.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/HDRho_display.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/RPCdisplay.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/RPCdisplay.TXT: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/RPCho_display.txt: 403
> Warning 1: HTTP response code on
> https://blah.s3.amazonaws.com/folder/RPCho_display.TXT: 403
> Files: /vsis3/blah/folder/ortho.tiff
>
> ...
>
> .___ ._ ..._ .. . ._. .___ .. __ . _. . __.. ... .... ._ .__
>
> _______________________________________________ gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20240427/89a4944f/attachment.htm>
More information about the gdal-dev
mailing list